ing_psp - Version 1.1.7

Version Notes

ING PSP-Magento Extension
====================

# Changelog #

## Changes in version 1.0.0
+ Initial version based upon Ginger Payments version

## Changes in version 1.0.1
+ Updated the README.md

## Changes in version 1.0.2
+ Handle banktransfer correctly

## Changes in version 1.0.3
+ Added version to the webhook
+ Added cash on delivery

## Changes in version 1.1.0
+ Added Bancontact
+ Added product selection

## Changes in version 1.1.1
+ Renamed bcmc to bancontact

## Changes in version 1.1.5
+ Small fixes
+ Version synchronization

## Changes in version 1.1.4
+ Fixed missing library folder

## Changes in version 1.1.5
+ Added ING-PSP PayPal payment method
+ Added ING-PSP HomePay payment method
+ Added ING-PSP SOFORT payment method
+ Added ING-PSP Klarna payment method
+ Updated ing-php library to 1.2.6

## Changes in version 1.1.6
+ Updated ing-php library to 1.2.8
+ Added French translations
+ Added German translations

## Changes in version 1.1.7
+ Performance improvements
+ Some bug fixes
+ Added Dutch translations

Download this release

Release Info

Developer ING
Extension ing_psp
Version 1.1.7
Comparing to
See all releases


Code changes from version 1.1.4 to 1.1.7

Files changed (113) hide show
  1. app/code/community/ING/PSP/Block/Payment/Banktransfer/Form.php +3 -3
  2. app/code/community/ING/PSP/Block/Payment/Banktransfer/Info.php +3 -3
  3. app/code/community/ING/PSP/Block/Payment/Cashondelivery/Form.php +3 -3
  4. app/code/community/ING/PSP/Block/Payment/Cashondelivery/Info.php +3 -3
  5. app/code/community/ING/PSP/Block/Payment/Ideal/Form.php +3 -3
  6. app/code/community/ING/PSP/Block/Payment/Ideal/Info.php +3 -3
  7. app/code/community/ING/PSP/Helper/Bancontact.php +3 -3
  8. app/code/community/ING/PSP/Helper/Banktransfer.php +3 -3
  9. app/code/community/ING/PSP/Helper/Cashondelivery.php +3 -3
  10. app/code/community/ING/PSP/Helper/Creditcard.php +3 -3
  11. app/code/community/ING/PSP/Helper/Data.php +3 -3
  12. app/code/community/ING/PSP/Helper/HomePay.php +170 -0
  13. app/code/community/ING/PSP/Helper/Homepay.php +170 -0
  14. app/code/community/ING/PSP/Helper/Ideal.php +3 -3
  15. app/code/community/ING/PSP/Helper/Klarna.php +151 -0
  16. app/code/community/ING/PSP/Helper/Paypal.php +170 -0
  17. app/code/community/ING/PSP/Helper/Sofort.php +170 -0
  18. app/code/community/ING/PSP/Model/Bancontact.php +3 -3
  19. app/code/community/ING/PSP/Model/Banktransfer.php +3 -3
  20. app/code/community/ING/PSP/Model/Cashondelivery.php +3 -3
  21. app/code/community/ING/PSP/Model/Creditcard.php +3 -3
  22. app/code/community/ING/PSP/Model/HomePay.php +118 -0
  23. app/code/community/ING/PSP/Model/Homepay.php +118 -0
  24. app/code/community/ING/PSP/Model/Ideal.php +3 -3
  25. app/code/community/ING/PSP/Model/Klarna.php +118 -0
  26. app/code/community/ING/PSP/Model/Observer.php +54 -20
  27. app/code/community/ING/PSP/Model/Paypal.php +118 -0
  28. app/code/community/ING/PSP/Model/Sofort.php +118 -0
  29. app/code/community/ING/PSP/controllers/BancontactController.php +3 -3
  30. app/code/community/ING/PSP/controllers/BanktransferController.php +3 -3
  31. app/code/community/ING/PSP/controllers/CashondeliveryController.php +3 -3
  32. app/code/community/ING/PSP/controllers/CreditcardController.php +3 -3
  33. app/code/community/ING/PSP/controllers/HomePayController.php +260 -0
  34. app/code/community/ING/PSP/controllers/HomepayController.php +260 -0
  35. app/code/community/ING/PSP/controllers/IdealController.php +3 -4
  36. app/code/community/ING/PSP/controllers/KlarnaController.php +256 -0
  37. app/code/community/ING/PSP/controllers/PaypalController.php +260 -0
  38. app/code/community/ING/PSP/controllers/SofortController.php +260 -0
  39. app/code/community/ING/PSP/etc/adminhtml.xml +3 -3
  40. app/code/community/ING/PSP/etc/config.xml +52 -4
  41. app/code/community/ING/PSP/etc/system.xml +379 -14
  42. app/code/community/ING/PSP/etc/system.xml_bak +874 -0
  43. app/code/community/ING/PSP/sql/ingpsp_setup/mysql4-install-0.0.1.php +3 -3
  44. app/code/community/ING/PSP/sql/ingpsp_setup/mysql4-uninstall-0.0.1.php +3 -3
  45. app/code/community/ING/PSP/sql/ingpsp_setup/mysql4-upgrade-0.0.1-0.0.2.php +3 -3
  46. app/code/community/ING/PSP/sql/ingpsp_setup/mysql4-upgrade-0.0.2-0.0.3.php +3 -3
  47. app/design/adminhtml/default/default/template/ing_psp/info/banktransfer.phtml +3 -3
  48. app/design/adminhtml/default/default/template/ing_psp/info/cashondelivery.phtml +3 -3
  49. app/design/frontend/base/default/layout/ing_psp.xml +3 -3
  50. app/design/frontend/base/default/template/ing_psp/form/banktransfer.phtml +3 -3
  51. app/design/frontend/base/default/template/ing_psp/form/cashondelivery.phtml +3 -3
  52. app/design/frontend/base/default/template/ing_psp/form/ideal.phtml +3 -3
  53. app/design/frontend/base/default/template/ing_psp/info/banktransfer.phtml +3 -3
  54. app/design/frontend/base/default/template/ing_psp/info/cashondelivery.phtml +3 -3
  55. app/design/frontend/base/default/template/ing_psp/success.phtml +3 -3
  56. app/etc/modules/ING_PSP.xml +4 -4
  57. lib/Ing/Services/ing-php/composer.json +10 -4
  58. lib/Ing/Services/ing-php/composer.lock +7 -7
  59. lib/Ing/Services/ing-php/src/Client.php +136 -7
  60. lib/Ing/Services/ing-php/src/Common/IntegerBasedValueObject.php +38 -0
  61. lib/Ing/Services/ing-php/src/Ginger.php +2 -2
  62. lib/Ing/Services/ing-php/src/Order.php +178 -18
  63. lib/Ing/Services/ing-php/src/Order/Customer.php +60 -3
  64. lib/Ing/Services/ing-php/src/Order/Customer/Birthdate.php +21 -0
  65. lib/Ing/Services/ing-php/src/Order/Customer/Gender.php +40 -0
  66. lib/Ing/Services/ing-php/src/Order/Customer/IP.php +21 -0
  67. lib/Ing/Services/ing-php/src/Order/OrderLine.php +370 -0
  68. lib/Ing/Services/ing-php/src/Order/OrderLine/Amount.php +21 -0
  69. lib/Ing/Services/ing-php/src/Order/OrderLine/Currency.php +28 -0
  70. lib/Ing/Services/ing-php/src/Order/OrderLine/DiscountRate.php +22 -0
  71. lib/Ing/Services/ing-php/src/Order/OrderLine/Ean.php +21 -0
  72. lib/Ing/Services/ing-php/src/Order/OrderLine/ImageUrl.php +21 -0
  73. lib/Ing/Services/ing-php/src/Order/OrderLine/MerchantOrderLineId.php +21 -0
  74. lib/Ing/Services/ing-php/src/Order/OrderLine/Name.php +21 -0
  75. lib/Ing/Services/ing-php/src/Order/OrderLine/Quantity.php +21 -0
  76. lib/Ing/Services/ing-php/src/Order/OrderLine/Type.php +50 -0
  77. lib/Ing/Services/ing-php/src/Order/OrderLine/Url.php +21 -0
  78. lib/Ing/Services/ing-php/src/Order/OrderLine/VatPercentage.php +22 -0
  79. lib/Ing/Services/ing-php/src/Order/OrderLines.php +101 -0
  80. lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethod.php +31 -1
  81. lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/HomePayPaymentMethodDetails.php +30 -0
  82. lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/KlarnaPaymentMethodDetails.php +53 -0
  83. lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/KlarnaPaymentMethodDetails/ErrorCode.php +21 -0
  84. lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/PayPalPaymentMethodDetails.php +30 -0
  85. lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/PaymentMethodDetailsFactory.php +12 -0
  86. lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/PaypalPaymentMethodDetails.php +30 -0
  87. lib/Ing/Services/ing-php/src/Order/Transaction/Status.php +11 -1
  88. lib/Ing/Services/ing-php/tests/ClientTest.php +2 -2
  89. lib/Ing/Services/ing-php/tests/Common/IntegerBasedValueObjectTest.php +32 -0
  90. lib/Ing/Services/ing-php/tests/Mock/FakeIntegerBasedValueObject.php +10 -0
  91. lib/Ing/Services/ing-php/tests/Order/Customer/BirthdateTest.php +47 -0
  92. lib/Ing/Services/ing-php/tests/Order/Customer/GenderTest.php +50 -0
  93. lib/Ing/Services/ing-php/tests/Order/CustomerTest.php +13 -2
  94. lib/Ing/Services/ing-php/tests/Order/OrderLineTest.php +105 -0
  95. lib/Ing/Services/ing-php/tests/Order/OrderLinesTest.php +91 -0
  96. lib/Ing/Services/ing-php/tests/Order/Transaction/PaymentMethodDetails/PaymentMethodDetailsFactoryTest.php +14 -0
  97. lib/Ing/Services/ing-php/tests/OrderTest.php +14 -5
  98. lib/Ing/Services/ing-php/vendor/autoload.php +1 -1
  99. lib/Ing/Services/ing-php/vendor/composer/installed.json +52 -52
  100. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/composer.json +34 -32
  101. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/byte_safe_strings.php +8 -8
  102. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/cast_to_int.php +12 -9
  103. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/error_polyfill.php +1 -1
  104. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random.php +154 -146
  105. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php +6 -1
  106. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php +27 -10
  107. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php +1 -1
  108. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php +8 -4
  109. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php +1 -1
  110. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_int.php +159 -160
  111. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/psalm-autoload.php +9 -0
  112. lib/Ing/Services/ing-php/vendor/paragonie/random_compat/psalm.xml +15 -0
  113. package.xml +24 -7
app/code/community/ING/PSP/Block/Payment/Banktransfer/Form.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/Block/Payment/Banktransfer/Info.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/Block/Payment/Cashondelivery/Form.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/Block/Payment/Cashondelivery/Info.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/Block/Payment/Ideal/Form.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/Block/Payment/Ideal/Info.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/Helper/Bancontact.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/Helper/Banktransfer.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Helper/Cashondelivery.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Helper/Creditcard.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Helper/Data.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Helper/HomePay.php ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.6
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Helper_HomePay extends Mage_Core_Helper_Abstract
22
+ {
23
+ protected $orderId = null;
24
+ protected $amount = 0;
25
+ protected $description = null;
26
+ protected $returnUrl = null;
27
+ protected $paymentUrl = null;
28
+ protected $orderStatus = null;
29
+ protected $consumerInfo = array();
30
+ protected $errorMessage = '';
31
+ protected $errorCode = 0;
32
+ protected $ingLib = null;
33
+
34
+ public function __construct()
35
+ {
36
+ require_once(Mage::getBaseDir('lib').DS.'Ing'.DS.'Services'.DS.'ing-php'.DS.'vendor'.DS.'autoload.php');
37
+
38
+ if (Mage::getStoreConfig("payment/ingpsp/apikey")) {
39
+ $this->ingLib = \GingerPayments\Payment\Ginger::createClient(
40
+ Mage::getStoreConfig("payment/ingpsp/apikey"),
41
+ Mage::getStoreConfig("payment/ingpsp/product")
42
+ );
43
+
44
+ if (Mage::getStoreConfig("payment/ingpsp/bundle_cacert")) {
45
+ $this->ingLib->useBundledCA();
46
+ }
47
+ }
48
+ }
49
+
50
+ public function extensionEnabled()
51
+ {
52
+ return false;
53
+ }
54
+
55
+ /**
56
+ * Prepare an order and get a redirect URL
57
+ *
58
+ * @param int $orderId
59
+ * @param float $amount
60
+ * @param string $currency
61
+ * @param string $description
62
+ * @param string $returnUrl
63
+ * @param array $customer
64
+ * @return bool
65
+ */
66
+ public function createOrder($orderId, $amount, $currency, $description, $returnUrl, $customer = array())
67
+ {
68
+ if (!$this->setOrderId($orderId) ||
69
+ !$this->setAmount($amount) ||
70
+ !$this->setDescription($description) ||
71
+ !$this->setReturnUrl($returnUrl)
72
+ ) {
73
+ $this->errorMessage = "Error in the given payment data";
74
+ return false;
75
+ }
76
+
77
+ $webhookUrl = Mage::getStoreConfig("payment/ingpsp/webhook") ? Mage::getUrl('ingpsp/homepay/webhook') : null;
78
+
79
+ try {
80
+ $ingOrder = $this->ingLib->createHomepayOrder(
81
+ ING_PSP_Helper_Data::getAmountInCents($amount),
82
+ $currency,
83
+ [],
84
+ $description,
85
+ $orderId,
86
+ $returnUrl,
87
+ null,
88
+ $customer,
89
+ null,
90
+ $webhookUrl
91
+ )->toArray();
92
+ } catch (\Exception $exception) {
93
+ Mage::throwException($exception->getMessage());
94
+ }
95
+
96
+ Mage::log($ingOrder);
97
+
98
+ if (!is_array($ingOrder) or array_key_exists('error', $ingOrder) or $ingOrder['status'] == 'error') {
99
+ Mage::throwException(
100
+ "Could not start transaction. Contact the owner."
101
+ );
102
+ }
103
+
104
+ $this->orderId = (string) $ingOrder['id'];
105
+ $this->paymentUrl = (string) $ingOrder['transactions'][0]['payment_url'];
106
+
107
+ return true;
108
+ }
109
+
110
+ public function getOrderDetails($ingOrderId)
111
+ {
112
+ return $this->ingLib->getOrder($ingOrderId)->toArray();
113
+ }
114
+
115
+ public function setAmount($amount)
116
+ {
117
+ return ($this->amount = $amount);
118
+ }
119
+
120
+ public function getAmount()
121
+ {
122
+ return $this->amount;
123
+ }
124
+
125
+ public function setOrderId($orderId)
126
+ {
127
+ return ($this->orderId = $orderId);
128
+ }
129
+
130
+ public function getOrderId()
131
+ {
132
+ return $this->orderId;
133
+ }
134
+
135
+ public function setDescription($description)
136
+ {
137
+ $description = substr($description, 0, 29);
138
+
139
+ return ($this->description = $description);
140
+ }
141
+
142
+ public function getDescription()
143
+ {
144
+ return $this->description;
145
+ }
146
+
147
+ public function setReturnURL($returnUrl)
148
+ {
149
+ if (!preg_match('|(\w+)://([^/:]+)(:\d+)?(.*)|', $returnUrl)) {
150
+ return false;
151
+ }
152
+
153
+ return ($this->returnUrl = $returnUrl);
154
+ }
155
+
156
+ public function getReturnURL()
157
+ {
158
+ return $this->returnUrl;
159
+ }
160
+
161
+ public function getPaymentURL()
162
+ {
163
+ return (string) $this->paymentUrl;
164
+ }
165
+
166
+ public function getErrorMessage()
167
+ {
168
+ return $this->errorMessage;
169
+ }
170
+ }
app/code/community/ING/PSP/Helper/Homepay.php ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Helper_Homepay extends Mage_Core_Helper_Abstract
22
+ {
23
+ protected $orderId = null;
24
+ protected $amount = 0;
25
+ protected $description = null;
26
+ protected $returnUrl = null;
27
+ protected $paymentUrl = null;
28
+ protected $orderStatus = null;
29
+ protected $consumerInfo = array();
30
+ protected $errorMessage = '';
31
+ protected $errorCode = 0;
32
+ protected $ingLib = null;
33
+
34
+ public function __construct()
35
+ {
36
+ require_once(Mage::getBaseDir('lib').DS.'Ing'.DS.'Services'.DS.'ing-php'.DS.'vendor'.DS.'autoload.php');
37
+
38
+ if (Mage::getStoreConfig("payment/ingpsp/apikey")) {
39
+ $this->ingLib = \GingerPayments\Payment\Ginger::createClient(
40
+ Mage::getStoreConfig("payment/ingpsp/apikey"),
41
+ Mage::getStoreConfig("payment/ingpsp/product")
42
+ );
43
+
44
+ if (Mage::getStoreConfig("payment/ingpsp/bundle_cacert")) {
45
+ $this->ingLib->useBundledCA();
46
+ }
47
+ }
48
+ }
49
+
50
+ public function extensionEnabled()
51
+ {
52
+ return false;
53
+ }
54
+
55
+ /**
56
+ * Prepare an order and get a redirect URL
57
+ *
58
+ * @param int $orderId
59
+ * @param float $amount
60
+ * @param string $currency
61
+ * @param string $description
62
+ * @param string $returnUrl
63
+ * @param array $customer
64
+ * @return bool
65
+ */
66
+ public function createOrder($orderId, $amount, $currency, $description, $returnUrl, $customer = array())
67
+ {
68
+ if (!$this->setOrderId($orderId) ||
69
+ !$this->setAmount($amount) ||
70
+ !$this->setDescription($description) ||
71
+ !$this->setReturnUrl($returnUrl)
72
+ ) {
73
+ $this->errorMessage = "Error in the given payment data";
74
+ return false;
75
+ }
76
+
77
+ $webhookUrl = Mage::getStoreConfig("payment/ingpsp/webhook") ? Mage::getUrl('ingpsp/homepay/webhook') : null;
78
+
79
+ try {
80
+ $ingOrder = $this->ingLib->createHomepayOrder(
81
+ ING_PSP_Helper_Data::getAmountInCents($amount),
82
+ $currency,
83
+ [],
84
+ $description,
85
+ $orderId,
86
+ $returnUrl,
87
+ null,
88
+ $customer,
89
+ null,
90
+ $webhookUrl
91
+ )->toArray();
92
+ } catch (\Exception $exception) {
93
+ Mage::throwException($exception->getMessage());
94
+ }
95
+
96
+ Mage::log($ingOrder);
97
+
98
+ if (!is_array($ingOrder) or array_key_exists('error', $ingOrder) or $ingOrder['status'] == 'error') {
99
+ Mage::throwException(
100
+ "Could not start transaction. Contact the owner."
101
+ );
102
+ }
103
+
104
+ $this->orderId = (string) $ingOrder['id'];
105
+ $this->paymentUrl = (string) $ingOrder['transactions'][0]['payment_url'];
106
+
107
+ return true;
108
+ }
109
+
110
+ public function getOrderDetails($ingOrderId)
111
+ {
112
+ return $this->ingLib->getOrder($ingOrderId)->toArray();
113
+ }
114
+
115
+ public function setAmount($amount)
116
+ {
117
+ return ($this->amount = $amount);
118
+ }
119
+
120
+ public function getAmount()
121
+ {
122
+ return $this->amount;
123
+ }
124
+
125
+ public function setOrderId($orderId)
126
+ {
127
+ return ($this->orderId = $orderId);
128
+ }
129
+
130
+ public function getOrderId()
131
+ {
132
+ return $this->orderId;
133
+ }
134
+
135
+ public function setDescription($description)
136
+ {
137
+ $description = substr($description, 0, 29);
138
+
139
+ return ($this->description = $description);
140
+ }
141
+
142
+ public function getDescription()
143
+ {
144
+ return $this->description;
145
+ }
146
+
147
+ public function setReturnURL($returnUrl)
148
+ {
149
+ if (!preg_match('|(\w+)://([^/:]+)(:\d+)?(.*)|', $returnUrl)) {
150
+ return false;
151
+ }
152
+
153
+ return ($this->returnUrl = $returnUrl);
154
+ }
155
+
156
+ public function getReturnURL()
157
+ {
158
+ return $this->returnUrl;
159
+ }
160
+
161
+ public function getPaymentURL()
162
+ {
163
+ return (string) $this->paymentUrl;
164
+ }
165
+
166
+ public function getErrorMessage()
167
+ {
168
+ return $this->errorMessage;
169
+ }
170
+ }
app/code/community/ING/PSP/Helper/Ideal.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Helper/Klarna.php ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Helper_Klarna extends Mage_Core_Helper_Abstract
22
+ {
23
+ protected $orderId = null;
24
+ protected $amount = 0;
25
+ protected $description = null;
26
+ protected $returnUrl = null;
27
+ protected $paymentUrl = null;
28
+ protected $orderStatus = null;
29
+ protected $consumerInfo = array();
30
+ protected $errorMessage = '';
31
+ protected $errorCode = 0;
32
+ protected $ingLib = null;
33
+
34
+ public function __construct()
35
+ {
36
+ require_once(Mage::getBaseDir('lib').DS.'Ing'.DS.'Services'.DS.'ing-php'.DS.'vendor'.DS.'autoload.php');
37
+
38
+ $apiKey = Mage::getStoreConfig("payment/ingpsp/test_apikey")
39
+ ?: Mage::getStoreConfig("payment/ingpsp/apikey");
40
+
41
+ if (strlen($apiKey) > 0) {
42
+ $this->ingLib = \GingerPayments\Payment\Ginger::createClient(
43
+ $apiKey,
44
+ Mage::getStoreConfig("payment/ingpsp/product")
45
+ );
46
+
47
+ if (Mage::getStoreConfig("payment/ingpsp/bundle_cacert")) {
48
+ $this->ingLib->useBundledCA();
49
+ }
50
+ }
51
+ }
52
+
53
+ public function extensionEnabled()
54
+ {
55
+ return false;
56
+ }
57
+
58
+ /**
59
+ * Prepare an order and get a redirect URL
60
+ *
61
+ * @param int $orderId
62
+ * @param float $amount
63
+ * @param string $currency
64
+ * @param string $description
65
+ * @param array $customer
66
+ * @param array $orderLines
67
+ * @return bool
68
+ */
69
+ public function createOrder($orderId, $amount, $currency, $description, $customer = [], $orderLines = [])
70
+ {
71
+ if (!$this->setOrderId($orderId) ||
72
+ !$this->setAmount($amount) ||
73
+ !$this->setDescription($description)
74
+ ) {
75
+ $this->errorMessage = "Error in the given payment data";
76
+ return false;
77
+ }
78
+
79
+ $webhookUrl = Mage::getStoreConfig("payment/ingpsp/webhook") ? Mage::getUrl('ingpsp/klarna/webhook') : null;
80
+
81
+ try {
82
+ $ingOrder = $this->ingLib->createKlarnaOrder(
83
+ ING_PSP_Helper_Data::getAmountInCents($amount),
84
+ $currency,
85
+ $description,
86
+ $orderId,
87
+ null,
88
+ null,
89
+ $customer,
90
+ null,
91
+ $webhookUrl,
92
+ $orderLines
93
+ );
94
+ } catch (\Exception $exception) {
95
+ Mage::throwException($exception->getMessage());
96
+ }
97
+
98
+ Mage::log($ingOrder->toArray());
99
+
100
+ if ($ingOrder->status()->isError()) {
101
+ $this->errorMessage = $ingOrder->transactions()->current()->reason()->toString();
102
+ return false;
103
+ } elseif ($ingOrder->status()->isCancelled()) {
104
+ return false;
105
+ } else {
106
+ return true;
107
+ }
108
+ }
109
+
110
+ public function getOrderDetails($ingOrderId)
111
+ {
112
+ return $this->ingLib->getOrder($ingOrderId)->toArray();
113
+ }
114
+
115
+ public function setAmount($amount)
116
+ {
117
+ return ($this->amount = $amount);
118
+ }
119
+
120
+ public function getAmount()
121
+ {
122
+ return $this->amount;
123
+ }
124
+
125
+ public function setOrderId($orderId)
126
+ {
127
+ return ($this->orderId = $orderId);
128
+ }
129
+
130
+ public function getOrderId()
131
+ {
132
+ return $this->orderId;
133
+ }
134
+
135
+ public function setDescription($description)
136
+ {
137
+ $description = substr($description, 0, 29);
138
+
139
+ return ($this->description = $description);
140
+ }
141
+
142
+ public function getDescription()
143
+ {
144
+ return $this->description;
145
+ }
146
+
147
+ public function getErrorMessage()
148
+ {
149
+ return $this->errorMessage;
150
+ }
151
+ }
app/code/community/ING/PSP/Helper/Paypal.php ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Helper_Paypal extends Mage_Core_Helper_Abstract
22
+ {
23
+ protected $orderId = null;
24
+ protected $amount = 0;
25
+ protected $description = null;
26
+ protected $returnUrl = null;
27
+ protected $paymentUrl = null;
28
+ protected $orderStatus = null;
29
+ protected $consumerInfo = array();
30
+ protected $errorMessage = '';
31
+ protected $errorCode = 0;
32
+ protected $ingLib = null;
33
+
34
+ public function __construct()
35
+ {
36
+ require_once(Mage::getBaseDir('lib').DS.'Ing'.DS.'Services'.DS.'ing-php'.DS.'vendor'.DS.'autoload.php');
37
+
38
+ if (Mage::getStoreConfig("payment/ingpsp/apikey")) {
39
+ $this->ingLib = \GingerPayments\Payment\Ginger::createClient(
40
+ Mage::getStoreConfig("payment/ingpsp/apikey"),
41
+ Mage::getStoreConfig("payment/ingpsp/product")
42
+ );
43
+
44
+ if (Mage::getStoreConfig("payment/ingpsp/bundle_cacert")) {
45
+ $this->ingLib->useBundledCA();
46
+ }
47
+ }
48
+ }
49
+
50
+ public function extensionEnabled()
51
+ {
52
+ return false;
53
+ }
54
+
55
+ /**
56
+ * Prepare an order and get a redirect URL
57
+ *
58
+ * @param int $orderId
59
+ * @param float $amount
60
+ * @param string $currency
61
+ * @param string $description
62
+ * @param string $returnUrl
63
+ * @param array $customer
64
+ * @return bool
65
+ */
66
+ public function createOrder($orderId, $amount, $currency, $description, $returnUrl, $customer = array())
67
+ {
68
+ if (!$this->setOrderId($orderId) ||
69
+ !$this->setAmount($amount) ||
70
+ !$this->setDescription($description) ||
71
+ !$this->setReturnUrl($returnUrl)
72
+ ) {
73
+ $this->errorMessage = "Error in the given payment data";
74
+ return false;
75
+ }
76
+
77
+ $webhookUrl = Mage::getStoreConfig("payment/ingpsp/webhook") ? Mage::getUrl('ingpsp/paypal/webhook') : null;
78
+
79
+ try {
80
+ $ingOrder = $this->ingLib->createPaypalOrder(
81
+ ING_PSP_Helper_Data::getAmountInCents($amount),
82
+ $currency,
83
+ [],
84
+ $description,
85
+ $orderId,
86
+ $returnUrl,
87
+ null,
88
+ $customer,
89
+ null,
90
+ $webhookUrl
91
+ )->toArray();
92
+ } catch (\Exception $exception) {
93
+ Mage::throwException($exception->getMessage());
94
+ }
95
+
96
+ Mage::log($ingOrder);
97
+
98
+ if (!is_array($ingOrder) or array_key_exists('error', $ingOrder) or $ingOrder['status'] == 'error') {
99
+ Mage::throwException(
100
+ "Could not start transaction. Contact the owner."
101
+ );
102
+ }
103
+
104
+ $this->orderId = (string) $ingOrder['id'];
105
+ $this->paymentUrl = (string) $ingOrder['transactions'][0]['payment_url'];
106
+
107
+ return true;
108
+ }
109
+
110
+ public function getOrderDetails($ingOrderId)
111
+ {
112
+ return $this->ingLib->getOrder($ingOrderId)->toArray();
113
+ }
114
+
115
+ public function setAmount($amount)
116
+ {
117
+ return ($this->amount = $amount);
118
+ }
119
+
120
+ public function getAmount()
121
+ {
122
+ return $this->amount;
123
+ }
124
+
125
+ public function setOrderId($orderId)
126
+ {
127
+ return ($this->orderId = $orderId);
128
+ }
129
+
130
+ public function getOrderId()
131
+ {
132
+ return $this->orderId;
133
+ }
134
+
135
+ public function setDescription($description)
136
+ {
137
+ $description = substr($description, 0, 29);
138
+
139
+ return ($this->description = $description);
140
+ }
141
+
142
+ public function getDescription()
143
+ {
144
+ return $this->description;
145
+ }
146
+
147
+ public function setReturnURL($returnUrl)
148
+ {
149
+ if (!preg_match('|(\w+)://([^/:]+)(:\d+)?(.*)|', $returnUrl)) {
150
+ return false;
151
+ }
152
+
153
+ return ($this->returnUrl = $returnUrl);
154
+ }
155
+
156
+ public function getReturnURL()
157
+ {
158
+ return $this->returnUrl;
159
+ }
160
+
161
+ public function getPaymentURL()
162
+ {
163
+ return (string) $this->paymentUrl;
164
+ }
165
+
166
+ public function getErrorMessage()
167
+ {
168
+ return $this->errorMessage;
169
+ }
170
+ }
app/code/community/ING/PSP/Helper/Sofort.php ADDED
@@ -0,0 +1,170 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Helper_Sofort extends Mage_Core_Helper_Abstract
22
+ {
23
+ protected $orderId = null;
24
+ protected $amount = 0;
25
+ protected $description = null;
26
+ protected $returnUrl = null;
27
+ protected $paymentUrl = null;
28
+ protected $orderStatus = null;
29
+ protected $consumerInfo = array();
30
+ protected $errorMessage = '';
31
+ protected $errorCode = 0;
32
+ protected $ingLib = null;
33
+
34
+ public function __construct()
35
+ {
36
+ require_once(Mage::getBaseDir('lib').DS.'Ing'.DS.'Services'.DS.'ing-php'.DS.'vendor'.DS.'autoload.php');
37
+
38
+ if (Mage::getStoreConfig("payment/ingpsp/apikey")) {
39
+ $this->ingLib = \GingerPayments\Payment\Ginger::createClient(
40
+ Mage::getStoreConfig("payment/ingpsp/apikey"),
41
+ Mage::getStoreConfig("payment/ingpsp/product")
42
+ );
43
+
44
+ if (Mage::getStoreConfig("payment/ingpsp/bundle_cacert")) {
45
+ $this->ingLib->useBundledCA();
46
+ }
47
+ }
48
+ }
49
+
50
+ public function extensionEnabled()
51
+ {
52
+ return false;
53
+ }
54
+
55
+ /**
56
+ * Prepare an order and get a redirect URL
57
+ *
58
+ * @param int $orderId
59
+ * @param float $amount
60
+ * @param string $currency
61
+ * @param string $description
62
+ * @param string $returnUrl
63
+ * @param array $customer
64
+ * @return bool
65
+ */
66
+ public function createOrder($orderId, $amount, $currency, $description, $returnUrl, $customer = array())
67
+ {
68
+ if (!$this->setOrderId($orderId) ||
69
+ !$this->setAmount($amount) ||
70
+ !$this->setDescription($description) ||
71
+ !$this->setReturnUrl($returnUrl)
72
+ ) {
73
+ $this->errorMessage = "Error in the given payment data";
74
+ return false;
75
+ }
76
+
77
+ $webhookUrl = Mage::getStoreConfig("payment/ingpsp/webhook") ? Mage::getUrl('ingpsp/paypal/webhook') : null;
78
+
79
+ try {
80
+ $ingOrder = $this->ingLib->createSofortOrder(
81
+ ING_PSP_Helper_Data::getAmountInCents($amount),
82
+ $currency,
83
+ [],
84
+ $description,
85
+ $orderId,
86
+ $returnUrl,
87
+ null,
88
+ $customer,
89
+ null,
90
+ $webhookUrl
91
+ )->toArray();
92
+ } catch (\Exception $exception) {
93
+ Mage::throwException($exception->getMessage());
94
+ }
95
+
96
+ Mage::log($ingOrder);
97
+
98
+ if (!is_array($ingOrder) or array_key_exists('error', $ingOrder) or $ingOrder['status'] == 'error') {
99
+ Mage::throwException(
100
+ "Could not start transaction. Contact the owner."
101
+ );
102
+ }
103
+
104
+ $this->orderId = (string) $ingOrder['id'];
105
+ $this->paymentUrl = (string) $ingOrder['transactions'][0]['payment_url'];
106
+
107
+ return true;
108
+ }
109
+
110
+ public function getOrderDetails($ingOrderId)
111
+ {
112
+ return $this->ingLib->getOrder($ingOrderId)->toArray();
113
+ }
114
+
115
+ public function setAmount($amount)
116
+ {
117
+ return ($this->amount = $amount);
118
+ }
119
+
120
+ public function getAmount()
121
+ {
122
+ return $this->amount;
123
+ }
124
+
125
+ public function setOrderId($orderId)
126
+ {
127
+ return ($this->orderId = $orderId);
128
+ }
129
+
130
+ public function getOrderId()
131
+ {
132
+ return $this->orderId;
133
+ }
134
+
135
+ public function setDescription($description)
136
+ {
137
+ $description = substr($description, 0, 29);
138
+
139
+ return ($this->description = $description);
140
+ }
141
+
142
+ public function getDescription()
143
+ {
144
+ return $this->description;
145
+ }
146
+
147
+ public function setReturnURL($returnUrl)
148
+ {
149
+ if (!preg_match('|(\w+)://([^/:]+)(:\d+)?(.*)|', $returnUrl)) {
150
+ return false;
151
+ }
152
+
153
+ return ($this->returnUrl = $returnUrl);
154
+ }
155
+
156
+ public function getReturnURL()
157
+ {
158
+ return $this->returnUrl;
159
+ }
160
+
161
+ public function getPaymentURL()
162
+ {
163
+ return (string) $this->paymentUrl;
164
+ }
165
+
166
+ public function getErrorMessage()
167
+ {
168
+ return $this->errorMessage;
169
+ }
170
+ }
app/code/community/ING/PSP/Model/Bancontact.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Model/Banktransfer.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/Model/Cashondelivery.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Model/Creditcard.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Model/HomePay.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.6
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Model_Homepay extends Mage_Payment_Model_Method_Abstract
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_HomePay
25
+ */
26
+ protected $_HomePay;
27
+
28
+ protected $_code = 'ingpsp_homepay';
29
+ protected $_paymentMethod = 'HomePay';
30
+ protected $_isGateway = true;
31
+ protected $_canAuthorize = true;
32
+ protected $_canUseCheckout = true;
33
+ protected $_canUseInternal = true;
34
+ protected $_canUseForMultishipping = false;
35
+ protected $_canRefund = true;
36
+ protected $_canRefundInvoicePartial = false;
37
+ protected $_canCapture = false;
38
+
39
+ // Payment flags
40
+ const PAYMENT_FLAG_PENDING = "Payment is pending";
41
+ const PAYMENT_FLAG_COMPLETED = "Payment is completed";
42
+ const PAYMENT_FLAG_CANCELLED = "Payment is cancelled";
43
+ const PAYMENT_FLAG_ERROR = "Payment failed with an error";
44
+ const PAYMENT_FLAG_FRAUD = "Amounts don't match. Possible fraud";
45
+
46
+ /**
47
+ * Build constructor
48
+ */
49
+ public function __construct()
50
+ {
51
+ parent::_construct();
52
+ $this->_HomePay = Mage::helper('ingpsp/homepay');
53
+ }
54
+
55
+ /**
56
+ * @param Mage_Sales_Model_Quote|null $quote
57
+ * @return bool
58
+ */
59
+ public function isAvailable($quote = null)
60
+ {
61
+ if (Mage::getStoreConfig('payment/ingpsp/apikey', $quote ? $quote->getStoreId() : null)) {
62
+ return parent::isAvailable($quote);
63
+ }
64
+
65
+ return false;
66
+ }
67
+
68
+ /**
69
+ * Get checkout session namespace
70
+ *
71
+ * @return Mage_Checkout_Model_Session
72
+ */
73
+ protected function _getCheckout()
74
+ {
75
+ return Mage::getSingleton('checkout/session');
76
+ }
77
+
78
+ /**
79
+ * Get current quote
80
+ *
81
+ * @return Mage_Sales_Model_Quote
82
+ */
83
+ public function getQuote()
84
+ {
85
+ return $this->_getCheckout()->getQuote();
86
+ }
87
+
88
+ /**
89
+ * HomePay is only active if 'EURO' is currency
90
+ *
91
+ * @param string $currencyCode
92
+ * @return bool
93
+ */
94
+ public function canUseForCurrency($currencyCode)
95
+ {
96
+ if ($currencyCode !== "EUR") {
97
+ return false;
98
+ }
99
+
100
+ return parent::canUseForCurrency($currencyCode);
101
+ }
102
+
103
+ /**
104
+ * Redirects the client on click 'Place Order' to selected HomePay bank
105
+ *
106
+ * @return string
107
+ */
108
+ public function getOrderPlaceRedirectUrl()
109
+ {
110
+ return Mage::getUrl(
111
+ 'ingpsp/homepay/payment',
112
+ array(
113
+ '_secure' => true,
114
+ '_query' => array(),
115
+ )
116
+ );
117
+ }
118
+ }
app/code/community/ING/PSP/Model/Homepay.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Model_Homepay extends Mage_Payment_Model_Method_Abstract
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_HomePay
25
+ */
26
+ protected $_HomePay;
27
+
28
+ protected $_code = 'ingpsp_homepay';
29
+ protected $_paymentMethod = 'HomePay';
30
+ protected $_isGateway = true;
31
+ protected $_canAuthorize = true;
32
+ protected $_canUseCheckout = true;
33
+ protected $_canUseInternal = true;
34
+ protected $_canUseForMultishipping = false;
35
+ protected $_canRefund = true;
36
+ protected $_canRefundInvoicePartial = false;
37
+ protected $_canCapture = false;
38
+
39
+ // Payment flags
40
+ const PAYMENT_FLAG_PENDING = "Payment is pending";
41
+ const PAYMENT_FLAG_COMPLETED = "Payment is completed";
42
+ const PAYMENT_FLAG_CANCELLED = "Payment is cancelled";
43
+ const PAYMENT_FLAG_ERROR = "Payment failed with an error";
44
+ const PAYMENT_FLAG_FRAUD = "Amounts don't match. Possible fraud";
45
+
46
+ /**
47
+ * Build constructor
48
+ */
49
+ public function __construct()
50
+ {
51
+ parent::_construct();
52
+ $this->_HomePay = Mage::helper('ingpsp/homepay');
53
+ }
54
+
55
+ /**
56
+ * @param Mage_Sales_Model_Quote|null $quote
57
+ * @return bool
58
+ */
59
+ public function isAvailable($quote = null)
60
+ {
61
+ if (Mage::getStoreConfig('payment/ingpsp/apikey', $quote ? $quote->getStoreId() : null)) {
62
+ return parent::isAvailable($quote);
63
+ }
64
+
65
+ return false;
66
+ }
67
+
68
+ /**
69
+ * Get checkout session namespace
70
+ *
71
+ * @return Mage_Checkout_Model_Session
72
+ */
73
+ protected function _getCheckout()
74
+ {
75
+ return Mage::getSingleton('checkout/session');
76
+ }
77
+
78
+ /**
79
+ * Get current quote
80
+ *
81
+ * @return Mage_Sales_Model_Quote
82
+ */
83
+ public function getQuote()
84
+ {
85
+ return $this->_getCheckout()->getQuote();
86
+ }
87
+
88
+ /**
89
+ * HomePay is only active if 'EURO' is currency
90
+ *
91
+ * @param string $currencyCode
92
+ * @return bool
93
+ */
94
+ public function canUseForCurrency($currencyCode)
95
+ {
96
+ if ($currencyCode !== "EUR") {
97
+ return false;
98
+ }
99
+
100
+ return parent::canUseForCurrency($currencyCode);
101
+ }
102
+
103
+ /**
104
+ * Redirects the client on click 'Place Order' to selected HomePay bank
105
+ *
106
+ * @return string
107
+ */
108
+ public function getOrderPlaceRedirectUrl()
109
+ {
110
+ return Mage::getUrl(
111
+ 'ingpsp/homepay/payment',
112
+ array(
113
+ '_secure' => true,
114
+ '_query' => array(),
115
+ )
116
+ );
117
+ }
118
+ }
app/code/community/ING/PSP/Model/Ideal.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/Model/Klarna.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Model_Klarna extends Mage_Payment_Model_Method_Abstract
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_Klarna
25
+ */
26
+ protected $_klarna;
27
+
28
+ protected $_code = 'ingpsp_klarna';
29
+ protected $_paymentMethod = 'Klarna';
30
+ protected $_isGateway = true;
31
+ protected $_canAuthorize = true;
32
+ protected $_canUseCheckout = true;
33
+ protected $_canUseInternal = true;
34
+ protected $_canUseForMultishipping = false;
35
+ protected $_canRefund = true;
36
+ protected $_canRefundInvoicePartial = false;
37
+ protected $_canCapture = false;
38
+
39
+ // Payment flags
40
+ const PAYMENT_FLAG_PENDING = "Payment is pending";
41
+ const PAYMENT_FLAG_COMPLETED = "Payment is completed";
42
+ const PAYMENT_FLAG_CANCELLED = "Payment is cancelled";
43
+ const PAYMENT_FLAG_ERROR = "Payment failed with an error";
44
+ const PAYMENT_FLAG_FRAUD = "Amounts don't match. Possible fraud";
45
+
46
+ /**
47
+ * Build constructor
48
+ */
49
+ public function __construct()
50
+ {
51
+ parent::_construct();
52
+ $this->_klarna = Mage::helper('ingpsp/klarna');
53
+ }
54
+
55
+ /**
56
+ * @param Mage_Sales_Model_Quote|null $quote
57
+ * @return bool
58
+ */
59
+ public function isAvailable($quote = null)
60
+ {
61
+ if (Mage::getStoreConfig('payment/ingpsp/apikey', $quote ? $quote->getStoreId() : null)) {
62
+ return parent::isAvailable($quote);
63
+ }
64
+
65
+ return false;
66
+ }
67
+
68
+ /**
69
+ * Get checkout session namespace
70
+ *
71
+ * @return Mage_Checkout_Model_Session
72
+ */
73
+ protected function _getCheckout()
74
+ {
75
+ return Mage::getSingleton('checkout/session');
76
+ }
77
+
78
+ /**
79
+ * Get current quote
80
+ *
81
+ * @return Mage_Sales_Model_Quote
82
+ */
83
+ public function getQuote()
84
+ {
85
+ return $this->_getCheckout()->getQuote();
86
+ }
87
+
88
+ /**
89
+ * PayPal is only active if 'EURO' is currency
90
+ *
91
+ * @param string $currencyCode
92
+ * @return bool
93
+ */
94
+ public function canUseForCurrency($currencyCode)
95
+ {
96
+ if ($currencyCode !== "EUR") {
97
+ return false;
98
+ }
99
+
100
+ return parent::canUseForCurrency($currencyCode);
101
+ }
102
+
103
+ /**
104
+ * Redirects the client on click 'Place Order' to selected PayPal bank
105
+ *
106
+ * @return string
107
+ */
108
+ public function getOrderPlaceRedirectUrl()
109
+ {
110
+ return Mage::getUrl(
111
+ 'ingpsp/klarna/payment',
112
+ array(
113
+ '_secure' => true,
114
+ '_query' => array(),
115
+ )
116
+ );
117
+ }
118
+ }
app/code/community/ING/PSP/Model/Observer.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
@@ -25,7 +25,11 @@ class ING_PSP_Model_Observer
25
  'ingpsp_banktransfer',
26
  'ingpsp_creditcard',
27
  'ingpsp_bancontact',
28
- 'ingpsp_cashondelivery'
 
 
 
 
29
  ];
30
 
31
  /**
@@ -52,9 +56,8 @@ class ING_PSP_Model_Observer
52
  */
53
  public function checkPaymentMethodStatus(Varien_Event_Observer $observer)
54
  {
55
- $allowedProducts = $this->getActiveINGProducts();
56
  $config = $observer->getConfig();
57
-
58
  foreach ($this->ing_modules AS $product) {
59
  $ingModule = $config->getNode('sections/payment/groups/'.$product);
60
  if (in_array(str_replace('ingpsp_', '', $product), $allowedProducts)) {
@@ -62,11 +65,13 @@ class ING_PSP_Model_Observer
62
  $ingModule->show_in_website = 1;
63
  $ingModule->show_in_store = 1;
64
  $ingModule->active = 1;
 
65
  } else {
66
  $ingModule->show_in_default = 0;
67
  $ingModule->show_in_website = 0;
68
  $ingModule->show_in_store = 0;
69
  $ingModule->active = 0;
 
70
  }
71
  $ingModule->saveXML();
72
  }
@@ -82,17 +87,14 @@ class ING_PSP_Model_Observer
82
  */
83
  public function paymentMethodIsActive(Varien_Event_Observer $observer)
84
  {
85
- $allowedProducts = $this->getActiveINGProducts();
86
  $event = $observer->getEvent();
87
  $method = $event->getMethodInstance();
88
  $result = $event->getResult();
89
 
90
- if (in_array($method->getCode(), $this->ing_modules)) {
91
- if (in_array(str_replace('ingpsp_', '', $method->getCode()), $allowedProducts)) {
92
- $result->isAvailable = true;
93
- } else {
94
- $result->isAvailable = false;
95
- }
96
  }
97
 
98
  return $this;
@@ -107,15 +109,47 @@ class ING_PSP_Model_Observer
107
  {
108
  require_once(Mage::getBaseDir('lib').DS.'Ing'.DS.'Services'.DS.'ing-php'.DS.'vendor'.DS.'autoload.php');
109
 
110
- if (Mage::getStoreConfig("payment/ingpsp/apikey")) {
111
- $ingAPI = \GingerPayments\Payment\Ginger::createClient(
112
- Mage::getStoreConfig("payment/ingpsp/apikey"),
113
- Mage::getStoreConfig("payment/ingpsp/product")
114
- );
 
115
 
116
- return $ingAPI->getAllowedProducts();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
117
  }
118
 
119
- return [];
120
  }
121
  }
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
25
  'ingpsp_banktransfer',
26
  'ingpsp_creditcard',
27
  'ingpsp_bancontact',
28
+ 'ingpsp_cashondelivery',
29
+ 'ingpsp_klarna',
30
+ 'ingpsp_paypal',
31
+ 'ingpsp_homepay',
32
+ 'ingpsp_sofort',
33
  ];
34
 
35
  /**
56
  */
57
  public function checkPaymentMethodStatus(Varien_Event_Observer $observer)
58
  {
 
59
  $config = $observer->getConfig();
60
+ $allowedProducts = $this->getActiveINGProducts();
61
  foreach ($this->ing_modules AS $product) {
62
  $ingModule = $config->getNode('sections/payment/groups/'.$product);
63
  if (in_array(str_replace('ingpsp_', '', $product), $allowedProducts)) {
65
  $ingModule->show_in_website = 1;
66
  $ingModule->show_in_store = 1;
67
  $ingModule->active = 1;
68
+ Mage::getConfig()->saveConfig('payment/'.$product.'/active', 1);
69
  } else {
70
  $ingModule->show_in_default = 0;
71
  $ingModule->show_in_website = 0;
72
  $ingModule->show_in_store = 0;
73
  $ingModule->active = 0;
74
+ Mage::getConfig()->saveConfig('payment/'.$product.'/active', 0);
75
  }
76
  $ingModule->saveXML();
77
  }
87
  */
88
  public function paymentMethodIsActive(Varien_Event_Observer $observer)
89
  {
 
90
  $event = $observer->getEvent();
91
  $method = $event->getMethodInstance();
92
  $result = $event->getResult();
93
 
94
+ if (in_array($method->getCode(), $this->ing_modules)
95
+ && $method->getCode() == 'ingpsp_klarna'
96
+ ) {
97
+ $result->isAvailable = $this->ipAllowed();
 
 
98
  }
99
 
100
  return $this;
109
  {
110
  require_once(Mage::getBaseDir('lib').DS.'Ing'.DS.'Services'.DS.'ing-php'.DS.'vendor'.DS.'autoload.php');
111
 
112
+ try {
113
+ if (Mage::getStoreConfig("payment/ingpsp/apikey")) {
114
+ $ingAPI = \GingerPayments\Payment\Ginger::createClient(
115
+ Mage::getStoreConfig("payment/ingpsp/apikey"),
116
+ Mage::getStoreConfig("payment/ingpsp/product")
117
+ );
118
 
119
+ if ($ingAPI->isInTestMode()) {
120
+ return [
121
+ 'klarna',
122
+ 'banktransfer',
123
+ 'ideal',
124
+ 'cashondelivery',
125
+ 'sofort'
126
+ ];
127
+ }
128
+ return $ingAPI->getAllowedProducts();
129
+ }
130
+ } catch (\Exception $exception) {
131
+ Mage::log($exception);
132
+ Mage::getSingleton('core/session')->addError($exception->getMessage());
133
+ }
134
+ }
135
+
136
+ /**
137
+ * Function checks if payment method is allowed for current IP.
138
+ *
139
+ * @return bool
140
+ */
141
+ protected function ipAllowed()
142
+ {
143
+ $ipFilterList = Mage::getStoreConfig("payment/ingpsp_klarna/ip_filter");
144
+
145
+ if (strlen($ipFilterList) > 0) {
146
+ $ipWhitelist = array_map('trim', explode(",", $ipFilterList));
147
+
148
+ if (!in_array(Mage::helper('core/http')->getRemoteAddr(), $ipWhitelist)) {
149
+ return false;
150
+ }
151
  }
152
 
153
+ return true;
154
  }
155
  }
app/code/community/ING/PSP/Model/Paypal.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Model_Paypal extends Mage_Payment_Model_Method_Abstract
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_PayPal
25
+ */
26
+ protected $_PayPal;
27
+
28
+ protected $_code = 'ingpsp_paypal';
29
+ protected $_paymentMethod = 'PayPal';
30
+ protected $_isGateway = true;
31
+ protected $_canAuthorize = true;
32
+ protected $_canUseCheckout = true;
33
+ protected $_canUseInternal = true;
34
+ protected $_canUseForMultishipping = false;
35
+ protected $_canRefund = true;
36
+ protected $_canRefundInvoicePartial = false;
37
+ protected $_canCapture = false;
38
+
39
+ // Payment flags
40
+ const PAYMENT_FLAG_PENDING = "Payment is pending";
41
+ const PAYMENT_FLAG_COMPLETED = "Payment is completed";
42
+ const PAYMENT_FLAG_CANCELLED = "Payment is cancelled";
43
+ const PAYMENT_FLAG_ERROR = "Payment failed with an error";
44
+ const PAYMENT_FLAG_FRAUD = "Amounts don't match. Possible fraud";
45
+
46
+ /**
47
+ * Build constructor
48
+ */
49
+ public function __construct()
50
+ {
51
+ parent::_construct();
52
+ $this->_PayPal = Mage::helper('ingpsp/paypal');
53
+ }
54
+
55
+ /**
56
+ * @param Mage_Sales_Model_Quote|null $quote
57
+ * @return bool
58
+ */
59
+ public function isAvailable($quote = null)
60
+ {
61
+ if (Mage::getStoreConfig('payment/ingpsp/apikey', $quote ? $quote->getStoreId() : null)) {
62
+ return parent::isAvailable($quote);
63
+ }
64
+
65
+ return false;
66
+ }
67
+
68
+ /**
69
+ * Get checkout session namespace
70
+ *
71
+ * @return Mage_Checkout_Model_Session
72
+ */
73
+ protected function _getCheckout()
74
+ {
75
+ return Mage::getSingleton('checkout/session');
76
+ }
77
+
78
+ /**
79
+ * Get current quote
80
+ *
81
+ * @return Mage_Sales_Model_Quote
82
+ */
83
+ public function getQuote()
84
+ {
85
+ return $this->_getCheckout()->getQuote();
86
+ }
87
+
88
+ /**
89
+ * PayPal is only active if 'EURO' is currency
90
+ *
91
+ * @param string $currencyCode
92
+ * @return bool
93
+ */
94
+ public function canUseForCurrency($currencyCode)
95
+ {
96
+ if ($currencyCode !== "EUR") {
97
+ return false;
98
+ }
99
+
100
+ return parent::canUseForCurrency($currencyCode);
101
+ }
102
+
103
+ /**
104
+ * Redirects the client on click 'Place Order' to selected PayPal bank
105
+ *
106
+ * @return string
107
+ */
108
+ public function getOrderPlaceRedirectUrl()
109
+ {
110
+ return Mage::getUrl(
111
+ 'ingpsp/paypal/payment',
112
+ array(
113
+ '_secure' => true,
114
+ '_query' => array(),
115
+ )
116
+ );
117
+ }
118
+ }
app/code/community/ING/PSP/Model/Sofort.php ADDED
@@ -0,0 +1,118 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_Model_Sofort extends Mage_Payment_Model_Method_Abstract
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_Sofort
25
+ */
26
+ protected $_sofort;
27
+
28
+ protected $_code = 'ingpsp_sofort';
29
+ protected $_paymentMethod = 'SOFORT';
30
+ protected $_isGateway = true;
31
+ protected $_canAuthorize = true;
32
+ protected $_canUseCheckout = true;
33
+ protected $_canUseInternal = true;
34
+ protected $_canUseForMultishipping = false;
35
+ protected $_canRefund = true;
36
+ protected $_canRefundInvoicePartial = false;
37
+ protected $_canCapture = false;
38
+
39
+ // Payment flags
40
+ const PAYMENT_FLAG_PENDING = "Payment is pending";
41
+ const PAYMENT_FLAG_COMPLETED = "Payment is completed";
42
+ const PAYMENT_FLAG_CANCELLED = "Payment is cancelled";
43
+ const PAYMENT_FLAG_ERROR = "Payment failed with an error";
44
+ const PAYMENT_FLAG_FRAUD = "Amounts don't match. Possible fraud";
45
+
46
+ /**
47
+ * Build constructor
48
+ */
49
+ public function __construct()
50
+ {
51
+ parent::_construct();
52
+ $this->_sofort = Mage::helper('ingpsp/sofort');
53
+ }
54
+
55
+ /**
56
+ * @param Mage_Sales_Model_Quote|null $quote
57
+ * @return bool
58
+ */
59
+ public function isAvailable($quote = null)
60
+ {
61
+ if (Mage::getStoreConfig('payment/ingpsp/apikey', $quote ? $quote->getStoreId() : null)) {
62
+ return parent::isAvailable($quote);
63
+ }
64
+
65
+ return false;
66
+ }
67
+
68
+ /**
69
+ * Get checkout session namespace
70
+ *
71
+ * @return Mage_Checkout_Model_Session
72
+ */
73
+ protected function _getCheckout()
74
+ {
75
+ return Mage::getSingleton('checkout/session');
76
+ }
77
+
78
+ /**
79
+ * Get current quote
80
+ *
81
+ * @return Mage_Sales_Model_Quote
82
+ */
83
+ public function getQuote()
84
+ {
85
+ return $this->_getCheckout()->getQuote();
86
+ }
87
+
88
+ /**
89
+ * PayPal is only active if 'EURO' is currency
90
+ *
91
+ * @param string $currencyCode
92
+ * @return bool
93
+ */
94
+ public function canUseForCurrency($currencyCode)
95
+ {
96
+ if ($currencyCode !== "EUR") {
97
+ return false;
98
+ }
99
+
100
+ return parent::canUseForCurrency($currencyCode);
101
+ }
102
+
103
+ /**
104
+ * Redirects the client on click 'Place Order' to selected PayPal bank
105
+ *
106
+ * @return string
107
+ */
108
+ public function getOrderPlaceRedirectUrl()
109
+ {
110
+ return Mage::getUrl(
111
+ 'ingpsp/sofort/payment',
112
+ array(
113
+ '_secure' => true,
114
+ '_query' => array(),
115
+ )
116
+ );
117
+ }
118
+ }
app/code/community/ING/PSP/controllers/BancontactController.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/controllers/BanktransferController.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/controllers/CashondeliveryController.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/controllers/CreditcardController.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/code/community/ING/PSP/controllers/HomePayController.php ADDED
@@ -0,0 +1,260 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.6
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_HomePayController extends Mage_Core_Controller_Front_Action
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_HomePay
25
+ */
26
+ protected $_homepay;
27
+
28
+ /**
29
+ * @var Varien_Db_Adapter_Pdo_Mysql
30
+ */
31
+ protected $_read;
32
+
33
+ /**
34
+ * @var Varien_Db_Adapter_Pdo_Mysql
35
+ */
36
+ protected $_write;
37
+
38
+ /**
39
+ * Get CreditCard core
40
+ * Give $_write mage writing resource
41
+ * Give $_read mage reading resource
42
+ */
43
+ public function _construct()
44
+ {
45
+ $this->_homepay = Mage::helper('ingpsp/homepay');
46
+ $this->_helper = Mage::helper('ingpsp');
47
+ $this->_coreHttp = Mage::helper('core/http');
48
+
49
+ $this->_read = Mage::getSingleton('core/resource')->getConnection('core_read');
50
+ $this->_write = Mage::getSingleton('core/resource')->getConnection('core_write');
51
+
52
+ parent::_construct();
53
+ }
54
+
55
+ /**
56
+ * Gets the current checkout session with order information
57
+ *
58
+ * @return Mage_Checkout_Model_Session
59
+ */
60
+ protected function _getCheckout()
61
+ {
62
+ return Mage::getSingleton('checkout/session');
63
+ }
64
+
65
+ /**
66
+ * Creates the order and sets the redirect url
67
+ */
68
+ public function paymentAction()
69
+ {
70
+ $order = Mage::getModel('sales/order')->loadByIncrementId($this->_getCheckout()->last_real_order_id);
71
+
72
+ try {
73
+ $amount = $order->getGrandTotal();
74
+ $orderId = $order->getIncrementId();
75
+ $description = str_replace('%', $orderId,
76
+ Mage::getStoreConfig("payment/ingpsp_homepay/description", $order->getStoreId())
77
+ );
78
+ $currency = $order->getOrderCurrencyCode();
79
+ $customer = $this->_getCustomerData($order);
80
+ $returnUrl = Mage::getUrl('ingpsp/homepay/return');
81
+
82
+ if ($this->_homepay->createOrder($orderId, $amount, $currency, $description, $returnUrl, $customer)) {
83
+ if (!$order->getId()) {
84
+ Mage::log('Geen order voor verwerking gevonden');
85
+ Mage::throwException('Geen order voor verwerking gevonden');
86
+ }
87
+
88
+ $payment = $order->getPayment();
89
+
90
+ if (!$payment->getId()) {
91
+ $payment = Mage::getModel('sales/order_payment')->setId(null);
92
+ }
93
+
94
+ $payment->setIsTransactionClosed(false)
95
+ ->setIngOrderId($this->_homepay->getOrderId())
96
+ ->setIngIdealIssuerId(null);
97
+
98
+ $order->setPayment($payment);
99
+ $order->setIngOrderId($this->_homepay->getOrderId())
100
+ ->setIngIdealIssuerId(null);
101
+ $order->save();
102
+
103
+ $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
104
+ $pendingMessage = Mage::helper('ingpsp')->__(ING_PSP_Model_Banktransfer::PAYMENT_FLAG_PENDING);
105
+
106
+ if ($order->getData('ing_order_id')) {
107
+ $pendingMessage .= '. '.'ING Order ID: '.$order->getData('ing_order_id');
108
+ }
109
+
110
+ $order->setState(
111
+ Mage_Sales_Model_Order::STATE_PROCESSING,
112
+ Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
113
+ $pendingMessage,
114
+ false
115
+ );
116
+
117
+ $order->save();
118
+
119
+ Mage::log("Issuer url redirect: ".$this->_homepay->getPaymentUrl());
120
+ $this->_redirectUrl($this->_homepay->getPaymentUrl());
121
+ }
122
+ } catch (Exception $e) {
123
+ Mage::log($e);
124
+ Mage::throwException(
125
+ "Could not start transaction. Contact the owner.<br />
126
+ Error message: ".$this->_homepay->getErrorMessage()
127
+ );
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Customer returning with an order_id
133
+ * Depending on the order state redirected to the corresponding page
134
+ */
135
+ public function returnAction()
136
+ {
137
+ $orderId = Mage::app()->getRequest()->getParam('order_id');
138
+
139
+ try {
140
+ if (!empty($orderId)) {
141
+ $ingOrderDetails = $this->_homepay->getOrderDetails($orderId);
142
+
143
+ $paymentStatus = isset($ingOrderDetails['status']) ? $ingOrderDetails['status'] : null;
144
+
145
+ if ($paymentStatus == "completed") {
146
+ // Redirect to success page
147
+ $this->_redirect('checkout/onepage/success', array('_secure' => true));
148
+ } else {
149
+ $this->_restoreCart();
150
+
151
+ // Redirect to failure page
152
+ $this->_redirect('checkout/onepage/failure', array('_secure' => true));
153
+ }
154
+ }
155
+ } catch (Exception $e) {
156
+ $this->_restoreCart();
157
+
158
+ Mage::log($e);
159
+ $this->_redirectUrl(Mage::getBaseUrl());
160
+ }
161
+ }
162
+
163
+ protected function _restoreCart()
164
+ {
165
+ $session = Mage::getSingleton('checkout/session');
166
+ $orderId = $session->getLastRealOrderId();
167
+ if (!empty($orderId)) {
168
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
169
+ }
170
+ $quoteId = $order->getQuoteId();
171
+
172
+ $quote = Mage::getModel('sales/quote')->load($quoteId)->setIsActive(true)->save();
173
+
174
+ Mage::getSingleton('checkout/session')->replaceQuote($quote);
175
+ }
176
+
177
+ /**
178
+ * @param Mage_Sales_Model_Order $order
179
+ * @param float $orderAmount
180
+ */
181
+ protected function _setAmountPaid(Mage_Sales_Model_Order $order, $orderAmount)
182
+ {
183
+ // set the amounts paid
184
+ $currentBase = Mage::app()->getStore()->getBaseCurrencyCode();
185
+ $currentStore = Mage::app()->getStore()->getCurrentCurrencyCode();
186
+
187
+ $amountBase = Mage::helper('directory')->currencyConvert($orderAmount, 'EUR', $currentBase);
188
+ $amountStore = Mage::helper('directory')->currencyConvert($orderAmount, 'EUR', $currentStore);
189
+
190
+ $order->setBaseTotalPaid($amountBase);
191
+ $order->setTotalPaid($amountStore);
192
+ }
193
+
194
+ /**
195
+ * @param Mage_Sales_Model_Order $order
196
+ * @param null|string $transactionId
197
+ * @return bool
198
+ */
199
+ protected function _savePaidInvoice(Mage_Sales_Model_Order $order, $transactionId = null)
200
+ {
201
+ $invoice = $order->prepareInvoice()
202
+ ->register()
203
+ ->setTransactionId($transactionId)
204
+ ->pay();
205
+
206
+ Mage::getModel('core/resource_transaction')
207
+ ->addObject($invoice)
208
+ ->addObject($invoice->getOrder())
209
+ ->save();
210
+
211
+ if (Mage::getStoreConfig("payment/ingpsp_homepay/send_invoice_mail", $order->getStoreId())) {
212
+ $invoice->sendEmail();
213
+ }
214
+
215
+ return true;
216
+ }
217
+
218
+ /**
219
+ * Format price with currency sign
220
+ *
221
+ * @param Mage_Sales_Model_Order $order
222
+ * @param float $amount
223
+ * @return string
224
+ */
225
+ protected function _formatPrice($order, $amount)
226
+ {
227
+ return $order->getBaseCurrency()->formatTxt($amount);
228
+ }
229
+
230
+ /**
231
+ * @param Mage_Sales_Model_Order $order
232
+ * @return array
233
+ */
234
+ protected function _getCustomerData(Mage_Sales_Model_Order $order)
235
+ {
236
+ $billingAddress = $order->getBillingAddress();
237
+
238
+ list($address, $houseNumber) = $this->_helper->parseAddress($billingAddress->getStreetFull());
239
+
240
+ return GingerPayments\Payment\Common\ArrayFunctions::withoutNullValues([
241
+ 'merchant_customer_id' => $order->getCustomerId(),
242
+ 'email_address' => $order->getCustomerEmail(),
243
+ 'first_name' => $order->getCustomerFirstname(),
244
+ 'last_name' => $order->getCustomerLastname(),
245
+ 'address_type' => 'billing',
246
+ 'address' => trim($billingAddress->getCity()).' '.trim($address),
247
+ 'postal_code' => $billingAddress->getPostcode(),
248
+ 'housenumber' => $houseNumber,
249
+ 'country' => $billingAddress->getCountryId(),
250
+ 'phone_numbers' => [$billingAddress->getTelephone()],
251
+ 'user_agent' => $this->_coreHttp->getHttpUserAgent(),
252
+ 'referrer' => $this->_coreHttp->getHttpReferer(),
253
+ 'ip_address' => $this->_coreHttp->getRemoteAddr(),
254
+ 'forwarded_ip' => $this->getRequest()->getServer('HTTP_X_FORWARDED_FOR'),
255
+ 'gender' => $order->getCustomerGender() ? ('1' ? 'male' : ('2' ? 'female' : null)) : null,
256
+ 'birth_date' => $order->getCustomerDob(),
257
+ 'locale' => Mage::app()->getLocale()->getLocaleCode(),
258
+ ]);
259
+ }
260
+ }
app/code/community/ING/PSP/controllers/HomepayController.php ADDED
@@ -0,0 +1,260 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_HomepayController extends Mage_Core_Controller_Front_Action
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_HomePay
25
+ */
26
+ protected $_homepay;
27
+
28
+ /**
29
+ * @var Varien_Db_Adapter_Pdo_Mysql
30
+ */
31
+ protected $_read;
32
+
33
+ /**
34
+ * @var Varien_Db_Adapter_Pdo_Mysql
35
+ */
36
+ protected $_write;
37
+
38
+ /**
39
+ * Get CreditCard core
40
+ * Give $_write mage writing resource
41
+ * Give $_read mage reading resource
42
+ */
43
+ public function _construct()
44
+ {
45
+ $this->_homepay = Mage::helper('ingpsp/homepay');
46
+ $this->_helper = Mage::helper('ingpsp');
47
+ $this->_coreHttp = Mage::helper('core/http');
48
+
49
+ $this->_read = Mage::getSingleton('core/resource')->getConnection('core_read');
50
+ $this->_write = Mage::getSingleton('core/resource')->getConnection('core_write');
51
+
52
+ parent::_construct();
53
+ }
54
+
55
+ /**
56
+ * Gets the current checkout session with order information
57
+ *
58
+ * @return Mage_Checkout_Model_Session
59
+ */
60
+ protected function _getCheckout()
61
+ {
62
+ return Mage::getSingleton('checkout/session');
63
+ }
64
+
65
+ /**
66
+ * Creates the order and sets the redirect url
67
+ */
68
+ public function paymentAction()
69
+ {
70
+ $order = Mage::getModel('sales/order')->loadByIncrementId($this->_getCheckout()->last_real_order_id);
71
+
72
+ try {
73
+ $amount = $order->getGrandTotal();
74
+ $orderId = $order->getIncrementId();
75
+ $description = str_replace('%', $orderId,
76
+ Mage::getStoreConfig("payment/ingpsp_homepay/description", $order->getStoreId())
77
+ );
78
+ $currency = $order->getOrderCurrencyCode();
79
+ $customer = $this->_getCustomerData($order);
80
+ $returnUrl = Mage::getUrl('ingpsp/homepay/return');
81
+
82
+ if ($this->_homepay->createOrder($orderId, $amount, $currency, $description, $returnUrl, $customer)) {
83
+ if (!$order->getId()) {
84
+ Mage::log('Geen order voor verwerking gevonden');
85
+ Mage::throwException('Geen order voor verwerking gevonden');
86
+ }
87
+
88
+ $payment = $order->getPayment();
89
+
90
+ if (!$payment->getId()) {
91
+ $payment = Mage::getModel('sales/order_payment')->setId(null);
92
+ }
93
+
94
+ $payment->setIsTransactionClosed(false)
95
+ ->setIngOrderId($this->_homepay->getOrderId())
96
+ ->setIngIdealIssuerId(null);
97
+
98
+ $order->setPayment($payment);
99
+ $order->setIngOrderId($this->_homepay->getOrderId())
100
+ ->setIngIdealIssuerId(null);
101
+ $order->save();
102
+
103
+ $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
104
+ $pendingMessage = Mage::helper('ingpsp')->__(ING_PSP_Model_Banktransfer::PAYMENT_FLAG_PENDING);
105
+
106
+ if ($order->getData('ing_order_id')) {
107
+ $pendingMessage .= '. '.'ING Order ID: '.$order->getData('ing_order_id');
108
+ }
109
+
110
+ $order->setState(
111
+ Mage_Sales_Model_Order::STATE_PROCESSING,
112
+ Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
113
+ $pendingMessage,
114
+ false
115
+ );
116
+
117
+ $order->save();
118
+
119
+ Mage::log("Issuer url redirect: ".$this->_homepay->getPaymentUrl());
120
+ $this->_redirectUrl($this->_homepay->getPaymentUrl());
121
+ }
122
+ } catch (Exception $e) {
123
+ Mage::log($e);
124
+ Mage::throwException(
125
+ "Could not start transaction. Contact the owner.<br />
126
+ Error message: ".$this->_homepay->getErrorMessage()
127
+ );
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Customer returning with an order_id
133
+ * Depending on the order state redirected to the corresponding page
134
+ */
135
+ public function returnAction()
136
+ {
137
+ $orderId = Mage::app()->getRequest()->getParam('order_id');
138
+
139
+ try {
140
+ if (!empty($orderId)) {
141
+ $ingOrderDetails = $this->_homepay->getOrderDetails($orderId);
142
+
143
+ $paymentStatus = isset($ingOrderDetails['status']) ? $ingOrderDetails['status'] : null;
144
+
145
+ if ($paymentStatus == "completed") {
146
+ // Redirect to success page
147
+ $this->_redirect('checkout/onepage/success', array('_secure' => true));
148
+ } else {
149
+ $this->_restoreCart();
150
+
151
+ // Redirect to failure page
152
+ $this->_redirect('checkout/onepage/failure', array('_secure' => true));
153
+ }
154
+ }
155
+ } catch (Exception $e) {
156
+ $this->_restoreCart();
157
+
158
+ Mage::log($e);
159
+ $this->_redirectUrl(Mage::getBaseUrl());
160
+ }
161
+ }
162
+
163
+ protected function _restoreCart()
164
+ {
165
+ $session = Mage::getSingleton('checkout/session');
166
+ $orderId = $session->getLastRealOrderId();
167
+ if (!empty($orderId)) {
168
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
169
+ }
170
+ $quoteId = $order->getQuoteId();
171
+
172
+ $quote = Mage::getModel('sales/quote')->load($quoteId)->setIsActive(true)->save();
173
+
174
+ Mage::getSingleton('checkout/session')->replaceQuote($quote);
175
+ }
176
+
177
+ /**
178
+ * @param Mage_Sales_Model_Order $order
179
+ * @param float $orderAmount
180
+ */
181
+ protected function _setAmountPaid(Mage_Sales_Model_Order $order, $orderAmount)
182
+ {
183
+ // set the amounts paid
184
+ $currentBase = Mage::app()->getStore()->getBaseCurrencyCode();
185
+ $currentStore = Mage::app()->getStore()->getCurrentCurrencyCode();
186
+
187
+ $amountBase = Mage::helper('directory')->currencyConvert($orderAmount, 'EUR', $currentBase);
188
+ $amountStore = Mage::helper('directory')->currencyConvert($orderAmount, 'EUR', $currentStore);
189
+
190
+ $order->setBaseTotalPaid($amountBase);
191
+ $order->setTotalPaid($amountStore);
192
+ }
193
+
194
+ /**
195
+ * @param Mage_Sales_Model_Order $order
196
+ * @param null|string $transactionId
197
+ * @return bool
198
+ */
199
+ protected function _savePaidInvoice(Mage_Sales_Model_Order $order, $transactionId = null)
200
+ {
201
+ $invoice = $order->prepareInvoice()
202
+ ->register()
203
+ ->setTransactionId($transactionId)
204
+ ->pay();
205
+
206
+ Mage::getModel('core/resource_transaction')
207
+ ->addObject($invoice)
208
+ ->addObject($invoice->getOrder())
209
+ ->save();
210
+
211
+ if (Mage::getStoreConfig("payment/ingpsp_homepay/send_invoice_mail", $order->getStoreId())) {
212
+ $invoice->sendEmail();
213
+ }
214
+
215
+ return true;
216
+ }
217
+
218
+ /**
219
+ * Format price with currency sign
220
+ *
221
+ * @param Mage_Sales_Model_Order $order
222
+ * @param float $amount
223
+ * @return string
224
+ */
225
+ protected function _formatPrice($order, $amount)
226
+ {
227
+ return $order->getBaseCurrency()->formatTxt($amount);
228
+ }
229
+
230
+ /**
231
+ * @param Mage_Sales_Model_Order $order
232
+ * @return array
233
+ */
234
+ protected function _getCustomerData(Mage_Sales_Model_Order $order)
235
+ {
236
+ $billingAddress = $order->getBillingAddress();
237
+
238
+ list($address, $houseNumber) = $this->_helper->parseAddress($billingAddress->getStreetFull());
239
+
240
+ return GingerPayments\Payment\Common\ArrayFunctions::withoutNullValues([
241
+ 'merchant_customer_id' => $order->getCustomerId(),
242
+ 'email_address' => $order->getCustomerEmail(),
243
+ 'first_name' => $order->getCustomerFirstname(),
244
+ 'last_name' => $order->getCustomerLastname(),
245
+ 'address_type' => 'billing',
246
+ 'address' => trim($billingAddress->getCity()).' '.trim($address),
247
+ 'postal_code' => $billingAddress->getPostcode(),
248
+ 'housenumber' => $houseNumber,
249
+ 'country' => $billingAddress->getCountryId(),
250
+ 'phone_numbers' => [$billingAddress->getTelephone()],
251
+ 'user_agent' => $this->_coreHttp->getHttpUserAgent(),
252
+ 'referrer' => $this->_coreHttp->getHttpReferer(),
253
+ 'ip_address' => $this->_coreHttp->getRemoteAddr(),
254
+ 'forwarded_ip' => $this->getRequest()->getServer('HTTP_X_FORWARDED_FOR'),
255
+ 'gender' => $order->getCustomerGender() ? ('1' ? 'male' : ('2' ? 'female' : null)) : null,
256
+ 'birth_date' => $order->getCustomerDob(),
257
+ 'locale' => Mage::app()->getLocale()->getLocaleCode(),
258
+ ]);
259
+ }
260
+ }
app/code/community/ING/PSP/controllers/IdealController.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
@@ -129,7 +129,6 @@ class ING_PSP_IdealController extends Mage_Core_Controller_Front_Action
129
  $this->_redirectUrl($this->_ideal->getPaymentUrl());
130
  }
131
  } catch (Exception $e) {
132
- die($e->getMessage());
133
  Mage::log($e);
134
  Mage::throwException(
135
  "Could not start transaction. Contact the owner.<br />
2
 
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
129
  $this->_redirectUrl($this->_ideal->getPaymentUrl());
130
  }
131
  } catch (Exception $e) {
 
132
  Mage::log($e);
133
  Mage::throwException(
134
  "Could not start transaction. Contact the owner.<br />
app/code/community/ING/PSP/controllers/KlarnaController.php ADDED
@@ -0,0 +1,256 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_KlarnaController extends Mage_Core_Controller_Front_Action
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_Klarna
25
+ */
26
+ protected $_klarna;
27
+
28
+ /**
29
+ * @var ING_PSP_Helper_Data
30
+ */
31
+ protected $_helper;
32
+
33
+ /**
34
+ * @var Mage_Core_Helper_Http
35
+ */
36
+ protected $_coreHttp;
37
+
38
+ /**
39
+ * @var Varien_Db_Adapter_Pdo_Mysql
40
+ */
41
+ protected $_read;
42
+
43
+ /**
44
+ * @var Varien_Db_Adapter_Pdo_Mysql
45
+ */
46
+ protected $_write;
47
+
48
+ /**
49
+ * Get iDEAL core
50
+ * Give $_write mage writing resource
51
+ * Give $_read mage reading resource
52
+ */
53
+ public function _construct()
54
+ {
55
+ $this->_klarna = Mage::helper('ingpsp/klarna');
56
+ $this->_helper = Mage::helper('ingpsp');
57
+ $this->_coreHttp = Mage::helper('core/http');
58
+
59
+ $this->_read = Mage::getSingleton('core/resource')->getConnection('core_read');
60
+ $this->_write = Mage::getSingleton('core/resource')->getConnection('core_write');
61
+
62
+ parent::_construct();
63
+ }
64
+
65
+ /**
66
+ * Create the order and sets the redirect url
67
+ *
68
+ * @return void
69
+ */
70
+ public function paymentAction()
71
+ {
72
+ $order = Mage::getModel('sales/order')->loadByIncrementId($this->_getCheckout()->last_real_order_id);
73
+
74
+ try {
75
+ $amount = $order->getGrandTotal();
76
+ $orderId = $order->getIncrementId();
77
+ $description = str_replace('%', $orderId,
78
+ Mage::getStoreConfig("payment/ingpsp_klarna/description", $order->getStoreId())
79
+ );
80
+ $currency = $order->getOrderCurrencyCode();
81
+ $customer = $this->_getCustomerData($order);
82
+ $orderLines = $this->getOrderLines($order);
83
+
84
+ if ($this->_klarna->createOrder($orderId, $amount, $currency, $description, $customer, $orderLines)) {
85
+ if (!$order->getId()) {
86
+ Mage::throwException('No order found!');
87
+ }
88
+
89
+ $payment = $order->getPayment();
90
+
91
+ if (!$payment->getId()) {
92
+ $payment = Mage::getModel('sales/order_payment')->setId(null);
93
+ }
94
+
95
+ $payment->setIsTransactionClosed(false)->setIngOrderId($this->_klarna->getOrderId());
96
+ $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_CAPTURE);
97
+ $order->setPayment($payment);
98
+ $order->setIngOrderId($this->_klarna->getOrderId());
99
+ $order->save();
100
+
101
+ $pendingMessage = Mage::helper('ingpsp')->__(ING_PSP_Model_Klarna::PAYMENT_FLAG_PENDING);
102
+ if ($order->getData('ing_order_id')) {
103
+ $pendingMessage .= '. '.'ING Order ID: '.$order->getData('ing_order_id');
104
+ }
105
+
106
+ $order->setState(
107
+ Mage_Sales_Model_Order::STATE_PROCESSING,
108
+ Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
109
+ $pendingMessage,
110
+ false
111
+ );
112
+ $order->save();
113
+
114
+ if (Mage::getStoreConfig("payment/ingpsp_klarna/send_order_mail", $order->getStoreId())) {
115
+ if (!$order->getEmailSent()) {
116
+ $order->setEmailSent(true);
117
+ $order->sendNewOrderEmail();
118
+ $order->save();
119
+ }
120
+ }
121
+ $this->_redirect('checkout/onepage/success', array('_secure' => true));
122
+ } else {
123
+ $this->_restoreCart();
124
+ if ($this->_klarna->getErrorMessage()) {
125
+ Mage::getSingleton('core/session')->addError($this->_klarna->getErrorMessage());
126
+ $this->_redirect('checkout/onepage', array('_secure' => true));
127
+ } else {
128
+ Mage::getSingleton('core/session')->addError(
129
+ $this->__('
130
+ Unfortunately, we can not currently accept your purchase with Klarna.
131
+ Please choose another payment option to complete your order.
132
+ We apologize for the inconvenience.'
133
+ )
134
+ );
135
+ $this->_redirect('checkout/onepage/failure', array('_secure' => true));
136
+ }
137
+ }
138
+ } catch (Exception $e) {
139
+ Mage::log($e);
140
+ Mage::throwException(
141
+ "Could not start transaction. Contact the owner.<br />
142
+ Error message: ".$this->_klarna->getErrorMessage().$e->getMessage()
143
+ );
144
+ }
145
+ }
146
+
147
+ /**
148
+ * Gets the current checkout session with order information
149
+ *
150
+ * @return Mage_Checkout_Model_Session
151
+ */
152
+ protected function _getCheckout()
153
+ {
154
+ return Mage::getSingleton('checkout/session');
155
+ }
156
+
157
+ /**
158
+ * @return void
159
+ */
160
+ protected function _restoreCart()
161
+ {
162
+ $session = Mage::getSingleton('checkout/session');
163
+ $orderId = $session->getLastRealOrderId();
164
+ if (!empty($orderId)) {
165
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
166
+ }
167
+ $quoteId = $order->getQuoteId();
168
+
169
+ $quote = Mage::getModel('sales/quote')->load($quoteId)->setIsActive(true)->save();
170
+
171
+ Mage::getSingleton('checkout/session')->replaceQuote($quote);
172
+ }
173
+
174
+ /**
175
+ * @param Mage_Sales_Model_Order $order
176
+ * @return array
177
+ */
178
+ protected function _getCustomerData(Mage_Sales_Model_Order $order)
179
+ {
180
+ $billingAddress = $order->getBillingAddress();
181
+ list($address, $houseNumber) = $this->_helper->parseAddress($billingAddress->getStreetFull());
182
+
183
+ return array(
184
+ 'merchant_customer_id' => $order->getCustomerId(),
185
+ 'email_address' => $order->getCustomerEmail(),
186
+ 'first_name' => $order->getCustomerFirstname(),
187
+ 'last_name' => $order->getCustomerLastname(),
188
+ 'address_type' => 'billing',
189
+ 'address' => trim($billingAddress->getStreetFull())
190
+ .' '.trim($billingAddress->getPostcode())
191
+ .' '.trim($billingAddress->getCity()),
192
+ 'postal_code' => $billingAddress->getPostcode(),
193
+ 'housenumber' => $houseNumber,
194
+ 'country' => $billingAddress->getCountryId(),
195
+ 'phone_numbers' => [$billingAddress->getTelephone()],
196
+ 'user_agent' => $this->_coreHttp->getHttpUserAgent(),
197
+ 'referrer' => $this->_coreHttp->getHttpReferer(),
198
+ 'ip_address' => $this->_coreHttp->getRemoteAddr(),
199
+ 'forwarded_ip' => $this->getRequest()->getServer('HTTP_X_FORWARDED_FOR'),
200
+ 'gender' => $order->getCustomerGender() ? ('1' ? 'male' : ('2' ? 'female' : null)) : null,
201
+ 'birthdate' => Mage::getModel('core/date')->date('Y-m-d', strtotime($order->getCustomerDob())),
202
+ 'locale' => Mage::app()->getLocale()->getLocaleCode()
203
+ );
204
+ }
205
+
206
+ /**
207
+ * @param $order
208
+ * @return array
209
+ */
210
+ protected function getOrderLines($order)
211
+ {
212
+ $orderLines = [];
213
+
214
+ foreach ($order->getAllVisibleItems() as $item) {
215
+ $orderLines[] = [
216
+ 'url' => $item->getProduct()->getProductUrl(),
217
+ 'name' => $item->getName(),
218
+ 'type' => \GingerPayments\Payment\Order\OrderLine\Type::PHYSICAL,
219
+ 'amount' => ING_PSP_Helper_Data::getAmountInCents(
220
+ Mage::helper('tax')->getPrice($item->getProduct(), $item->getProduct()->getFinalPrice(), true)
221
+ ),
222
+ 'currency' => \GingerPayments\Payment\Currency::EUR,
223
+ 'quantity' => (int) $item->getQtyOrdered() ? $item->getQtyOrdered() : 1,
224
+ 'image_url' => Mage::getModel('catalog/product_media_config')
225
+ ->getMediaUrl($item->getProduct()->getThumbnail()),
226
+ 'vat_percentage' => ING_PSP_Helper_Data::getAmountInCents($item->getTaxPercent()),
227
+ 'merchant_order_line_id' => $item->getId()
228
+ ];
229
+ }
230
+
231
+ if ($order->getShippingAmount() > 0) {
232
+ $orderLines[] = $this->getShippingOrderLine($order);
233
+ }
234
+
235
+ return $orderLines;
236
+ }
237
+
238
+ /**
239
+ * @param $order
240
+ * @return array
241
+ */
242
+ protected function getShippingOrderLine($order)
243
+ {
244
+ return [
245
+ 'name' => $order->getShippingDescription(),
246
+ 'type' => \GingerPayments\Payment\Order\OrderLine\Type::SHIPPING_FEE,
247
+ 'amount' => ING_PSP_Helper_Data::getAmountInCents($order->getShippingInclTax()),
248
+ 'currency' => \GingerPayments\Payment\Currency::EUR,
249
+ 'vat_percentage' => ING_PSP_Helper_Data::getAmountInCents(
250
+ (100 * $order->getShippingTaxAmount() / $order->getShippingInclTax())
251
+ ),
252
+ 'quantity' => 1,
253
+ 'merchant_order_line_id' => ($order->getTotalItemCount() + 1)
254
+ ];
255
+ }
256
+ }
app/code/community/ING/PSP/controllers/PaypalController.php ADDED
@@ -0,0 +1,260 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_PaypalController extends Mage_Core_Controller_Front_Action
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_PayPal
25
+ */
26
+ protected $_paypal;
27
+
28
+ /**
29
+ * @var Varien_Db_Adapter_Pdo_Mysql
30
+ */
31
+ protected $_read;
32
+
33
+ /**
34
+ * @var Varien_Db_Adapter_Pdo_Mysql
35
+ */
36
+ protected $_write;
37
+
38
+ /**
39
+ * Get CreditCard core
40
+ * Give $_write mage writing resource
41
+ * Give $_read mage reading resource
42
+ */
43
+ public function _construct()
44
+ {
45
+ $this->_paypal = Mage::helper('ingpsp/paypal');
46
+ $this->_helper = Mage::helper('ingpsp');
47
+ $this->_coreHttp = Mage::helper('core/http');
48
+
49
+ $this->_read = Mage::getSingleton('core/resource')->getConnection('core_read');
50
+ $this->_write = Mage::getSingleton('core/resource')->getConnection('core_write');
51
+
52
+ parent::_construct();
53
+ }
54
+
55
+ /**
56
+ * Gets the current checkout session with order information
57
+ *
58
+ * @return Mage_Checkout_Model_Session
59
+ */
60
+ protected function _getCheckout()
61
+ {
62
+ return Mage::getSingleton('checkout/session');
63
+ }
64
+
65
+ /**
66
+ * Creates the order and sets the redirect url
67
+ */
68
+ public function paymentAction()
69
+ {
70
+ $order = Mage::getModel('sales/order')->loadByIncrementId($this->_getCheckout()->last_real_order_id);
71
+
72
+ try {
73
+ $amount = $order->getGrandTotal();
74
+ $orderId = $order->getIncrementId();
75
+ $description = str_replace('%', $orderId,
76
+ Mage::getStoreConfig("payment/ingpsp_paypal/description", $order->getStoreId())
77
+ );
78
+ $currency = $order->getOrderCurrencyCode();
79
+ $customer = $this->_getCustomerData($order);
80
+ $returnUrl = Mage::getUrl('ingpsp/paypal/return');
81
+
82
+ if ($this->_paypal->createOrder($orderId, $amount, $currency, $description, $returnUrl, $customer)) {
83
+ if (!$order->getId()) {
84
+ Mage::log('Geen order voor verwerking gevonden');
85
+ Mage::throwException('Geen order voor verwerking gevonden');
86
+ }
87
+
88
+ $payment = $order->getPayment();
89
+
90
+ if (!$payment->getId()) {
91
+ $payment = Mage::getModel('sales/order_payment')->setId(null);
92
+ }
93
+
94
+ $payment->setIsTransactionClosed(false)
95
+ ->setIngOrderId($this->_paypal->getOrderId())
96
+ ->setIngIdealIssuerId(null);
97
+
98
+ $order->setPayment($payment);
99
+ $order->setIngOrderId($this->_paypal->getOrderId())
100
+ ->setIngIdealIssuerId(null);
101
+ $order->save();
102
+
103
+ $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
104
+ $pendingMessage = Mage::helper('ingpsp')->__(ING_PSP_Model_Banktransfer::PAYMENT_FLAG_PENDING);
105
+
106
+ if ($order->getData('ing_order_id')) {
107
+ $pendingMessage .= '. '.'ING Order ID: '.$order->getData('ing_order_id');
108
+ }
109
+
110
+ $order->setState(
111
+ Mage_Sales_Model_Order::STATE_PROCESSING,
112
+ Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
113
+ $pendingMessage,
114
+ false
115
+ );
116
+
117
+ $order->save();
118
+
119
+ Mage::log("Issuer url redirect: ".$this->_paypal->getPaymentUrl());
120
+ $this->_redirectUrl($this->_paypal->getPaymentUrl());
121
+ }
122
+ } catch (Exception $e) {
123
+ Mage::log($e);
124
+ Mage::throwException(
125
+ "Could not start transaction. Contact the owner.<br />
126
+ Error message: ".$this->_paypal->getErrorMessage()
127
+ );
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Customer returning with an order_id
133
+ * Depending on the order state redirected to the corresponding page
134
+ */
135
+ public function returnAction()
136
+ {
137
+ $orderId = Mage::app()->getRequest()->getParam('order_id');
138
+
139
+ try {
140
+ if (!empty($orderId)) {
141
+ $ingOrderDetails = $this->_paypal->getOrderDetails($orderId);
142
+
143
+ $paymentStatus = isset($ingOrderDetails['status']) ? $ingOrderDetails['status'] : null;
144
+
145
+ if ($paymentStatus == "completed") {
146
+ // Redirect to success page
147
+ $this->_redirect('checkout/onepage/success', array('_secure' => true));
148
+ } else {
149
+ $this->_restoreCart();
150
+
151
+ // Redirect to failure page
152
+ $this->_redirect('checkout/onepage/failure', array('_secure' => true));
153
+ }
154
+ }
155
+ } catch (Exception $e) {
156
+ $this->_restoreCart();
157
+
158
+ Mage::log($e);
159
+ $this->_redirectUrl(Mage::getBaseUrl());
160
+ }
161
+ }
162
+
163
+ protected function _restoreCart()
164
+ {
165
+ $session = Mage::getSingleton('checkout/session');
166
+ $orderId = $session->getLastRealOrderId();
167
+ if (!empty($orderId)) {
168
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
169
+ }
170
+ $quoteId = $order->getQuoteId();
171
+
172
+ $quote = Mage::getModel('sales/quote')->load($quoteId)->setIsActive(true)->save();
173
+
174
+ Mage::getSingleton('checkout/session')->replaceQuote($quote);
175
+ }
176
+
177
+ /**
178
+ * @param Mage_Sales_Model_Order $order
179
+ * @param float $orderAmount
180
+ */
181
+ protected function _setAmountPaid(Mage_Sales_Model_Order $order, $orderAmount)
182
+ {
183
+ // set the amounts paid
184
+ $currentBase = Mage::app()->getStore()->getBaseCurrencyCode();
185
+ $currentStore = Mage::app()->getStore()->getCurrentCurrencyCode();
186
+
187
+ $amountBase = Mage::helper('directory')->currencyConvert($orderAmount, 'EUR', $currentBase);
188
+ $amountStore = Mage::helper('directory')->currencyConvert($orderAmount, 'EUR', $currentStore);
189
+
190
+ $order->setBaseTotalPaid($amountBase);
191
+ $order->setTotalPaid($amountStore);
192
+ }
193
+
194
+ /**
195
+ * @param Mage_Sales_Model_Order $order
196
+ * @param null|string $transactionId
197
+ * @return bool
198
+ */
199
+ protected function _savePaidInvoice(Mage_Sales_Model_Order $order, $transactionId = null)
200
+ {
201
+ $invoice = $order->prepareInvoice()
202
+ ->register()
203
+ ->setTransactionId($transactionId)
204
+ ->pay();
205
+
206
+ Mage::getModel('core/resource_transaction')
207
+ ->addObject($invoice)
208
+ ->addObject($invoice->getOrder())
209
+ ->save();
210
+
211
+ if (Mage::getStoreConfig("payment/ingpsp_paypal/send_invoice_mail", $order->getStoreId())) {
212
+ $invoice->sendEmail();
213
+ }
214
+
215
+ return true;
216
+ }
217
+
218
+ /**
219
+ * Format price with currency sign
220
+ *
221
+ * @param Mage_Sales_Model_Order $order
222
+ * @param float $amount
223
+ * @return string
224
+ */
225
+ protected function _formatPrice($order, $amount)
226
+ {
227
+ return $order->getBaseCurrency()->formatTxt($amount);
228
+ }
229
+
230
+ /**
231
+ * @param Mage_Sales_Model_Order $order
232
+ * @return array
233
+ */
234
+ protected function _getCustomerData(Mage_Sales_Model_Order $order)
235
+ {
236
+ $billingAddress = $order->getBillingAddress();
237
+
238
+ list($address, $houseNumber) = $this->_helper->parseAddress($billingAddress->getStreetFull());
239
+
240
+ return GingerPayments\Payment\Common\ArrayFunctions::withoutNullValues([
241
+ 'merchant_customer_id' => $order->getCustomerId(),
242
+ 'email_address' => $order->getCustomerEmail(),
243
+ 'first_name' => $order->getCustomerFirstname(),
244
+ 'last_name' => $order->getCustomerLastname(),
245
+ 'address_type' => 'billing',
246
+ 'address' => trim($billingAddress->getCity()).' '.trim($address),
247
+ 'postal_code' => $billingAddress->getPostcode(),
248
+ 'housenumber' => $houseNumber,
249
+ 'country' => $billingAddress->getCountryId(),
250
+ 'phone_numbers' => [$billingAddress->getTelephone()],
251
+ 'user_agent' => $this->_coreHttp->getHttpUserAgent(),
252
+ 'referrer' => $this->_coreHttp->getHttpReferer(),
253
+ 'ip_address' => $this->_coreHttp->getRemoteAddr(),
254
+ 'forwarded_ip' => $this->getRequest()->getServer('HTTP_X_FORWARDED_FOR'),
255
+ 'gender' => $order->getCustomerGender() ? ('1' ? 'male' : ('2' ? 'female' : null)) : null,
256
+ 'birth_date' => $order->getCustomerDob(),
257
+ 'locale' => Mage::app()->getLocale()->getLocaleCode(),
258
+ ]);
259
+ }
260
+ }
app/code/community/ING/PSP/controllers/SofortController.php ADDED
@@ -0,0 +1,260 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
+ * │╭──╮ ╭──╮│
7
+ * ││//│ │//││
8
+ * │╰──╯ ╰──╯│
9
+ * ╰──────────────╯
10
+ * ╭──────────╮ The MIT License (MIT)
11
+ * │ () () () │
12
+ *
13
+ * @category ING
14
+ * @package ING_PSP
15
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
+ * @license The MIT License (MIT)
19
+ *
20
+ **/
21
+ class ING_PSP_SofortController extends Mage_Core_Controller_Front_Action
22
+ {
23
+ /**
24
+ * @var ING_PSP_Helper_Sofort
25
+ */
26
+ protected $_sofort;
27
+
28
+ /**
29
+ * @var Varien_Db_Adapter_Pdo_Mysql
30
+ */
31
+ protected $_read;
32
+
33
+ /**
34
+ * @var Varien_Db_Adapter_Pdo_Mysql
35
+ */
36
+ protected $_write;
37
+
38
+ /**
39
+ * Get CreditCard core
40
+ * Give $_write mage writing resource
41
+ * Give $_read mage reading resource
42
+ */
43
+ public function _construct()
44
+ {
45
+ $this->_sofort = Mage::helper('ingpsp/sofort');
46
+ $this->_helper = Mage::helper('ingpsp');
47
+ $this->_coreHttp = Mage::helper('core/http');
48
+
49
+ $this->_read = Mage::getSingleton('core/resource')->getConnection('core_read');
50
+ $this->_write = Mage::getSingleton('core/resource')->getConnection('core_write');
51
+
52
+ parent::_construct();
53
+ }
54
+
55
+ /**
56
+ * Gets the current checkout session with order information
57
+ *
58
+ * @return Mage_Checkout_Model_Session
59
+ */
60
+ protected function _getCheckout()
61
+ {
62
+ return Mage::getSingleton('checkout/session');
63
+ }
64
+
65
+ /**
66
+ * Creates the order and sets the redirect url
67
+ */
68
+ public function paymentAction()
69
+ {
70
+ $order = Mage::getModel('sales/order')->loadByIncrementId($this->_getCheckout()->last_real_order_id);
71
+
72
+ try {
73
+ $amount = $order->getGrandTotal();
74
+ $orderId = $order->getIncrementId();
75
+ $description = str_replace('%', $orderId,
76
+ Mage::getStoreConfig("payment/ingpsp_sofort/description", $order->getStoreId())
77
+ );
78
+ $currency = $order->getOrderCurrencyCode();
79
+ $customer = $this->_getCustomerData($order);
80
+ $returnUrl = Mage::getUrl('ingpsp/sofort/return');
81
+
82
+ if ($this->_sofort->createOrder($orderId, $amount, $currency, $description, $returnUrl, $customer)) {
83
+ if (!$order->getId()) {
84
+ Mage::log('Geen order voor verwerking gevonden');
85
+ Mage::throwException('Geen order voor verwerking gevonden');
86
+ }
87
+
88
+ $payment = $order->getPayment();
89
+
90
+ if (!$payment->getId()) {
91
+ $payment = Mage::getModel('sales/order_payment')->setId(null);
92
+ }
93
+
94
+ $payment->setIsTransactionClosed(false)
95
+ ->setIngOrderId($this->_sofort->getOrderId())
96
+ ->setIngIdealIssuerId(null);
97
+
98
+ $order->setPayment($payment);
99
+ $order->setIngOrderId($this->_sofort->getOrderId())
100
+ ->setIngIdealIssuerId(null);
101
+ $order->save();
102
+
103
+ $payment->addTransaction(Mage_Sales_Model_Order_Payment_Transaction::TYPE_AUTH);
104
+ $pendingMessage = Mage::helper('ingpsp')->__(ING_PSP_Model_Banktransfer::PAYMENT_FLAG_PENDING);
105
+
106
+ if ($order->getData('ing_order_id')) {
107
+ $pendingMessage .= '. '.'ING Order ID: '.$order->getData('ing_order_id');
108
+ }
109
+
110
+ $order->setState(
111
+ Mage_Sales_Model_Order::STATE_PROCESSING,
112
+ Mage_Sales_Model_Order::STATE_PENDING_PAYMENT,
113
+ $pendingMessage,
114
+ false
115
+ );
116
+
117
+ $order->save();
118
+
119
+ Mage::log("Issuer url redirect: ".$this->_sofort->getPaymentUrl());
120
+ $this->_redirectUrl($this->_sofort->getPaymentUrl());
121
+ }
122
+ } catch (Exception $e) {
123
+ Mage::log($e);
124
+ Mage::throwException(
125
+ "Could not start transaction. Contact the owner.<br />
126
+ Error message: ".$this->_sofort->getErrorMessage()
127
+ );
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Customer returning with an order_id
133
+ * Depending on the order state redirected to the corresponding page
134
+ */
135
+ public function returnAction()
136
+ {
137
+ $orderId = Mage::app()->getRequest()->getParam('order_id');
138
+
139
+ try {
140
+ if (!empty($orderId)) {
141
+ $ingOrderDetails = $this->_sofort->getOrderDetails($orderId);
142
+
143
+ $paymentStatus = isset($ingOrderDetails['status']) ? $ingOrderDetails['status'] : null;
144
+
145
+ if ($paymentStatus == "completed") {
146
+ // Redirect to success page
147
+ $this->_redirect('checkout/onepage/success', array('_secure' => true));
148
+ } else {
149
+ $this->_restoreCart();
150
+
151
+ // Redirect to failure page
152
+ $this->_redirect('checkout/onepage/failure', array('_secure' => true));
153
+ }
154
+ }
155
+ } catch (Exception $e) {
156
+ $this->_restoreCart();
157
+
158
+ Mage::log($e);
159
+ $this->_redirectUrl(Mage::getBaseUrl());
160
+ }
161
+ }
162
+
163
+ protected function _restoreCart()
164
+ {
165
+ $session = Mage::getSingleton('checkout/session');
166
+ $orderId = $session->getLastRealOrderId();
167
+ if (!empty($orderId)) {
168
+ $order = Mage::getModel('sales/order')->loadByIncrementId($orderId);
169
+ }
170
+ $quoteId = $order->getQuoteId();
171
+
172
+ $quote = Mage::getModel('sales/quote')->load($quoteId)->setIsActive(true)->save();
173
+
174
+ Mage::getSingleton('checkout/session')->replaceQuote($quote);
175
+ }
176
+
177
+ /**
178
+ * @param Mage_Sales_Model_Order $order
179
+ * @param float $orderAmount
180
+ */
181
+ protected function _setAmountPaid(Mage_Sales_Model_Order $order, $orderAmount)
182
+ {
183
+ // set the amounts paid
184
+ $currentBase = Mage::app()->getStore()->getBaseCurrencyCode();
185
+ $currentStore = Mage::app()->getStore()->getCurrentCurrencyCode();
186
+
187
+ $amountBase = Mage::helper('directory')->currencyConvert($orderAmount, 'EUR', $currentBase);
188
+ $amountStore = Mage::helper('directory')->currencyConvert($orderAmount, 'EUR', $currentStore);
189
+
190
+ $order->setBaseTotalPaid($amountBase);
191
+ $order->setTotalPaid($amountStore);
192
+ }
193
+
194
+ /**
195
+ * @param Mage_Sales_Model_Order $order
196
+ * @param null|string $transactionId
197
+ * @return bool
198
+ */
199
+ protected function _savePaidInvoice(Mage_Sales_Model_Order $order, $transactionId = null)
200
+ {
201
+ $invoice = $order->prepareInvoice()
202
+ ->register()
203
+ ->setTransactionId($transactionId)
204
+ ->pay();
205
+
206
+ Mage::getModel('core/resource_transaction')
207
+ ->addObject($invoice)
208
+ ->addObject($invoice->getOrder())
209
+ ->save();
210
+
211
+ if (Mage::getStoreConfig("payment/ingpsp_sofort/send_invoice_mail", $order->getStoreId())) {
212
+ $invoice->sendEmail();
213
+ }
214
+
215
+ return true;
216
+ }
217
+
218
+ /**
219
+ * Format price with currency sign
220
+ *
221
+ * @param Mage_Sales_Model_Order $order
222
+ * @param float $amount
223
+ * @return string
224
+ */
225
+ protected function _formatPrice($order, $amount)
226
+ {
227
+ return $order->getBaseCurrency()->formatTxt($amount);
228
+ }
229
+
230
+ /**
231
+ * @param Mage_Sales_Model_Order $order
232
+ * @return array
233
+ */
234
+ protected function _getCustomerData(Mage_Sales_Model_Order $order)
235
+ {
236
+ $billingAddress = $order->getBillingAddress();
237
+
238
+ list($address, $houseNumber) = $this->_helper->parseAddress($billingAddress->getStreetFull());
239
+
240
+ return GingerPayments\Payment\Common\ArrayFunctions::withoutNullValues([
241
+ 'merchant_customer_id' => $order->getCustomerId(),
242
+ 'email_address' => $order->getCustomerEmail(),
243
+ 'first_name' => $order->getCustomerFirstname(),
244
+ 'last_name' => $order->getCustomerLastname(),
245
+ 'address_type' => 'billing',
246
+ 'address' => trim($billingAddress->getCity()).' '.trim($address),
247
+ 'postal_code' => $billingAddress->getPostcode(),
248
+ 'housenumber' => $houseNumber,
249
+ 'country' => $billingAddress->getCountryId(),
250
+ 'phone_numbers' => [$billingAddress->getTelephone()],
251
+ 'user_agent' => $this->_coreHttp->getHttpUserAgent(),
252
+ 'referrer' => $this->_coreHttp->getHttpReferer(),
253
+ 'ip_address' => $this->_coreHttp->getRemoteAddr(),
254
+ 'forwarded_ip' => $this->getRequest()->getServer('HTTP_X_FORWARDED_FOR'),
255
+ 'gender' => $order->getCustomerGender() ? ('1' ? 'male' : ('2' ? 'female' : null)) : null,
256
+ 'birth_date' => $order->getCustomerDob(),
257
+ 'locale' => Mage::app()->getLocale()->getLocaleCode(),
258
+ ]);
259
+ }
260
+ }
app/code/community/ING/PSP/etc/adminhtml.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <!--
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  -->
19
  <config>
1
  <?xml version="1.0"?>
2
  <!--
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  -->
19
  <config>
app/code/community/ING/PSP/etc/config.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <!--
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,14 +12,14 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  -->
19
  <config>
20
  <modules>
21
  <ING_PSP>
22
- <version>1.1.3</version>
23
  </ING_PSP>
24
  </modules>
25
  <global>
@@ -242,6 +242,54 @@
242
  <specificcountry>NL</specificcountry>
243
  <sort_order>105</sort_order>
244
  </ingpsp_bancontact>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  </payment>
246
  </default>
247
  </config>
1
  <?xml version="1.0"?>
2
  <!--
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  -->
19
  <config>
20
  <modules>
21
  <ING_PSP>
22
+ <version>1.1.7</version>
23
  </ING_PSP>
24
  </modules>
25
  <global>
242
  <specificcountry>NL</specificcountry>
243
  <sort_order>105</sort_order>
244
  </ingpsp_bancontact>
245
+ <ingpsp_paypal>
246
+ <group>ingpsp</group>
247
+ <active>1</active>
248
+ <title>PayPal</title>
249
+ <description>PayPal</description>
250
+ <model>ingpsp/paypal</model>
251
+ <title>PayPal</title>
252
+ <currency>EUR</currency>
253
+ <allowspecific>1</allowspecific>
254
+ <specificcountry>NL</specificcountry>
255
+ <sort_order>106</sort_order>
256
+ </ingpsp_paypal>
257
+ <ingpsp_klarna>
258
+ <group>ingpsp</group>
259
+ <active>1</active>
260
+ <title>Klarna</title>
261
+ <description>Klarna</description>
262
+ <model>ingpsp/klarna</model>
263
+ <title>Klarna</title>
264
+ <currency>EUR</currency>
265
+ <allowspecific>1</allowspecific>
266
+ <specificcountry>NL</specificcountry>
267
+ <sort_order>107</sort_order>
268
+ </ingpsp_klarna>
269
+ <ingpsp_sofort>
270
+ <group>ingpsp</group>
271
+ <active>1</active>
272
+ <title>SOFORT</title>
273
+ <description>SOFORT</description>
274
+ <model>ingpsp/sofort</model>
275
+ <title>SOFORT</title>
276
+ <currency>EUR</currency>
277
+ <allowspecific>1</allowspecific>
278
+ <specificcountry>NL</specificcountry>
279
+ <sort_order>107</sort_order>
280
+ </ingpsp_sofort>
281
+ <ingpsp_homepay>
282
+ <group>ingpsp</group>
283
+ <active>1</active>
284
+ <title>HomePay</title>
285
+ <description>HomePay</description>
286
+ <model>ingpsp/homepay</model>
287
+ <title>HomePay</title>
288
+ <currency>EUR</currency>
289
+ <allowspecific>1</allowspecific>
290
+ <specificcountry>NL</specificcountry>
291
+ <sort_order>108</sort_order>
292
+ </ingpsp_homepay>
293
  </payment>
294
  </default>
295
  </config>
app/code/community/ING/PSP/etc/system.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <!--
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  -->
@@ -23,7 +23,7 @@
23
  <groups>
24
  <ingpsp translate="label comment">
25
  <label>ING PSP - Settings</label>
26
- <expanded>1</expanded>
27
  <sort_order>116</sort_order>
28
  <frontend_type>text</frontend_type>
29
  <show_in_default>1</show_in_default>
@@ -31,7 +31,7 @@
31
  <show_in_store>1</show_in_store>
32
  <fields>
33
  <version>
34
- <label>v1.1.3</label>
35
  <sort_order>1</sort_order>
36
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
37
  <frontend_type>label</frontend_type>
@@ -41,25 +41,35 @@
41
  </version>
42
  <apikey translate="label">
43
  <label>API Key</label>
44
- <frontend_type>text</frontend_type>
45
  <sort_order>2</sort_order>
 
46
  <show_in_default>1</show_in_default>
47
  <show_in_website>1</show_in_website>
48
  <show_in_store>1</show_in_store>
49
  <validate>required-entry validate-alphanum</validate>
50
  </apikey>
 
 
 
 
 
 
 
 
 
 
51
  <product translate="label">
52
  <label>Product</label>
 
53
  <frontend_type>select</frontend_type>
54
  <source_model>ing_psp/system_config_source_dropdown_values</source_model>
55
- <sort_order>3</sort_order>
56
  <show_in_default>1</show_in_default>
57
  <show_in_website>1</show_in_website>
58
  <show_in_store>1</show_in_store>
59
  </product>
60
  <webhook translate="label">
61
  <label>Webhook URL</label>
62
- <sort_order>4</sort_order>
63
  <frontend_type>select</frontend_type>
64
  <source_model>adminhtml/system_config_source_yesno</source_model>
65
  <show_in_default>1</show_in_default>
@@ -69,7 +79,7 @@
69
  </webhook>
70
  <bundle_cacert translate="label">
71
  <label>Bundle CA.cert file</label>
72
- <sort_order>5</sort_order>
73
  <frontend_type>select</frontend_type>
74
  <source_model>adminhtml/system_config_source_yesno</source_model>
75
  <show_in_default>1</show_in_default>
@@ -81,7 +91,7 @@
81
  </ingpsp>
82
  <ingpsp_ideal translate="label comment" module="ingpsp">
83
  <label>ING PSP - iDEAL</label>
84
- <expanded>1</expanded>
85
  <sort_order>117</sort_order>
86
  <frontend_type>text</frontend_type>
87
  <show_in_default>1</show_in_default>
@@ -167,7 +177,7 @@
167
  </ingpsp_ideal>
168
  <ingpsp_banktransfer translate="label comment" module="ingpsp">
169
  <label>ING PSP - Banktransfer</label>
170
- <expanded>1</expanded>
171
  <sort_order>118</sort_order>
172
  <frontend_type>text</frontend_type>
173
  <show_in_default>1</show_in_default>
@@ -253,7 +263,7 @@
253
  </ingpsp_banktransfer>
254
  <ingpsp_creditcard translate="label comment" module="ingpsp">
255
  <label>ING PSP - Mastercard, VISA, Maestro of V PAY</label>
256
- <expanded>1</expanded>
257
  <sort_order>119</sort_order>
258
  <frontend_type>text</frontend_type>
259
  <show_in_default>1</show_in_default>
@@ -339,7 +349,7 @@
339
  </ingpsp_creditcard>
340
  <ingpsp_cashondelivery translate="label comment" module="ingpsp">
341
  <label>ING PSP - Cashondelivery</label>
342
- <expanded>1</expanded>
343
  <sort_order>120</sort_order>
344
  <frontend_type>text</frontend_type>
345
  <show_in_default>1</show_in_default>
@@ -425,7 +435,7 @@
425
  </ingpsp_cashondelivery>
426
  <ingpsp_bancontact translate="label comment" module="ingpsp">
427
  <label>ING PSP - Bancontact</label>
428
- <expanded>1</expanded>
429
  <sort_order>121</sort_order>
430
  <frontend_type>text</frontend_type>
431
  <show_in_default>1</show_in_default>
@@ -509,6 +519,361 @@
509
  </sort_order>
510
  </fields>
511
  </ingpsp_bancontact>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
512
  </groups>
513
  </payment>
514
  </sections>
1
  <?xml version="1.0"?>
2
  <!--
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  -->
23
  <groups>
24
  <ingpsp translate="label comment">
25
  <label>ING PSP - Settings</label>
26
+ <expanded>0</expanded>
27
  <sort_order>116</sort_order>
28
  <frontend_type>text</frontend_type>
29
  <show_in_default>1</show_in_default>
31
  <show_in_store>1</show_in_store>
32
  <fields>
33
  <version>
34
+ <label>v1.1.7</label>
35
  <sort_order>1</sort_order>
36
  <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
37
  <frontend_type>label</frontend_type>
41
  </version>
42
  <apikey translate="label">
43
  <label>API Key</label>
 
44
  <sort_order>2</sort_order>
45
+ <frontend_type>text</frontend_type>
46
  <show_in_default>1</show_in_default>
47
  <show_in_website>1</show_in_website>
48
  <show_in_store>1</show_in_store>
49
  <validate>required-entry validate-alphanum</validate>
50
  </apikey>
51
+ <test_apikey translate="label">
52
+ <label>Test API Key</label>
53
+ <sort_order>3</sort_order>
54
+ <frontend_type>text</frontend_type>
55
+ <show_in_default>1</show_in_default>
56
+ <show_in_website>1</show_in_website>
57
+ <show_in_store>1</show_in_store>
58
+ <validate>validate-alphanum</validate>
59
+ <comment>Used for testing Klarna payment method.</comment>
60
+ </test_apikey>
61
  <product translate="label">
62
  <label>Product</label>
63
+ <sort_order>4</sort_order>
64
  <frontend_type>select</frontend_type>
65
  <source_model>ing_psp/system_config_source_dropdown_values</source_model>
 
66
  <show_in_default>1</show_in_default>
67
  <show_in_website>1</show_in_website>
68
  <show_in_store>1</show_in_store>
69
  </product>
70
  <webhook translate="label">
71
  <label>Webhook URL</label>
72
+ <sort_order>5</sort_order>
73
  <frontend_type>select</frontend_type>
74
  <source_model>adminhtml/system_config_source_yesno</source_model>
75
  <show_in_default>1</show_in_default>
79
  </webhook>
80
  <bundle_cacert translate="label">
81
  <label>Bundle CA.cert file</label>
82
+ <sort_order>6</sort_order>
83
  <frontend_type>select</frontend_type>
84
  <source_model>adminhtml/system_config_source_yesno</source_model>
85
  <show_in_default>1</show_in_default>
91
  </ingpsp>
92
  <ingpsp_ideal translate="label comment" module="ingpsp">
93
  <label>ING PSP - iDEAL</label>
94
+ <expanded>0</expanded>
95
  <sort_order>117</sort_order>
96
  <frontend_type>text</frontend_type>
97
  <show_in_default>1</show_in_default>
177
  </ingpsp_ideal>
178
  <ingpsp_banktransfer translate="label comment" module="ingpsp">
179
  <label>ING PSP - Banktransfer</label>
180
+ <expanded>0</expanded>
181
  <sort_order>118</sort_order>
182
  <frontend_type>text</frontend_type>
183
  <show_in_default>1</show_in_default>
263
  </ingpsp_banktransfer>
264
  <ingpsp_creditcard translate="label comment" module="ingpsp">
265
  <label>ING PSP - Mastercard, VISA, Maestro of V PAY</label>
266
+ <expanded>0</expanded>
267
  <sort_order>119</sort_order>
268
  <frontend_type>text</frontend_type>
269
  <show_in_default>1</show_in_default>
349
  </ingpsp_creditcard>
350
  <ingpsp_cashondelivery translate="label comment" module="ingpsp">
351
  <label>ING PSP - Cashondelivery</label>
352
+ <expanded>0</expanded>
353
  <sort_order>120</sort_order>
354
  <frontend_type>text</frontend_type>
355
  <show_in_default>1</show_in_default>
435
  </ingpsp_cashondelivery>
436
  <ingpsp_bancontact translate="label comment" module="ingpsp">
437
  <label>ING PSP - Bancontact</label>
438
+ <expanded>0</expanded>
439
  <sort_order>121</sort_order>
440
  <frontend_type>text</frontend_type>
441
  <show_in_default>1</show_in_default>
519
  </sort_order>
520
  </fields>
521
  </ingpsp_bancontact>
522
+ <ingpsp_paypal translate="label comment" module="ingpsp">
523
+ <label>ING PSP - PayPal</label>
524
+ <expanded>0</expanded>
525
+ <sort_order>122</sort_order>
526
+ <frontend_type>text</frontend_type>
527
+ <show_in_default>1</show_in_default>
528
+ <show_in_website>1</show_in_website>
529
+ <show_in_store>1</show_in_store>
530
+ <fields>
531
+ <active translate="label">
532
+ <label>Enabled</label>
533
+ <frontend_type>select</frontend_type>
534
+ <source_model>adminhtml/system_config_source_yesno</source_model>
535
+ <sort_order>100</sort_order>
536
+ <show_in_default>1</show_in_default>
537
+ <show_in_website>1</show_in_website>
538
+ <show_in_store>0</show_in_store>
539
+ </active>
540
+ <title translate="label">
541
+ <label>Title</label>
542
+ <frontend_type>text</frontend_type>
543
+ <sort_order>150</sort_order>
544
+ <show_in_default>1</show_in_default>
545
+ <show_in_website>1</show_in_website>
546
+ <show_in_store>1</show_in_store>
547
+ <validate>required-entry</validate>
548
+ </title>
549
+ <description translate="label">
550
+ <label>Description</label>
551
+ <frontend_type>text</frontend_type>
552
+ <sort_order>200</sort_order>
553
+ <show_in_default>1</show_in_default>
554
+ <show_in_website>1</show_in_website>
555
+ <show_in_store>1</show_in_store>
556
+ <validate>required-entry</validate>
557
+ </description>
558
+ <specificcountry translate="label">
559
+ <label>Payment from Specific Countries</label>
560
+ <sort_order>300</sort_order>
561
+ <frontend_type>multiselect</frontend_type>
562
+ <source_model>adminhtml/system_config_source_country</source_model>
563
+ <can_be_empty>1</can_be_empty>
564
+ <show_in_default>1</show_in_default>
565
+ <show_in_website>1</show_in_website>
566
+ <show_in_store>1</show_in_store>
567
+ </specificcountry>
568
+ <send_order_mail translate="label">
569
+ <label>Send order mail</label>
570
+ <sort_order>400</sort_order>
571
+ <frontend_type>select</frontend_type>
572
+ <source_model>adminhtml/system_config_source_yesno</source_model>
573
+ <show_in_default>1</show_in_default>
574
+ <show_in_website>1</show_in_website>
575
+ <show_in_store>1</show_in_store>
576
+ </send_order_mail>
577
+ <generate_invoice_upon_completion translate="label">
578
+ <label>Generate invoice upon succesfull transaction</label>
579
+ <sort_order>500</sort_order>
580
+ <frontend_type>select</frontend_type>
581
+ <source_model>adminhtml/system_config_source_yesno</source_model>
582
+ <show_in_default>1</show_in_default>
583
+ <show_in_website>1</show_in_website>
584
+ <show_in_store>1</show_in_store>
585
+ </generate_invoice_upon_completion>
586
+ <send_invoice_mail translate="label">
587
+ <label>Send invoice mail</label>
588
+ <sort_order>600</sort_order>
589
+ <frontend_type>select</frontend_type>
590
+ <source_model>adminhtml/system_config_source_yesno</source_model>
591
+ <show_in_default>1</show_in_default>
592
+ <show_in_website>1</show_in_website>
593
+ <show_in_store>1</show_in_store>
594
+ <depends>
595
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
596
+ </depends>
597
+ </send_invoice_mail>
598
+ <sort_order translate="label">
599
+ <label>Sort order</label>
600
+ <frontend_type>text</frontend_type>
601
+ <sort_order>700</sort_order>
602
+ <show_in_default>1</show_in_default>
603
+ <show_in_website>1</show_in_website>
604
+ <show_in_store>1</show_in_store>
605
+ </sort_order>
606
+ </fields>
607
+ </ingpsp_paypal>
608
+ <ingpsp_klarna translate="label comment" module="ingpsp">
609
+ <label>ING PSP - Klarna</label>
610
+ <expanded>0</expanded>
611
+ <sort_order>123</sort_order>
612
+ <frontend_type>text</frontend_type>
613
+ <show_in_default>1</show_in_default>
614
+ <show_in_website>1</show_in_website>
615
+ <show_in_store>1</show_in_store>
616
+ <fields>
617
+ <active translate="label">
618
+ <label>Enabled</label>
619
+ <frontend_type>select</frontend_type>
620
+ <source_model>adminhtml/system_config_source_yesno</source_model>
621
+ <sort_order>100</sort_order>
622
+ <show_in_default>1</show_in_default>
623
+ <show_in_website>1</show_in_website>
624
+ <show_in_store>0</show_in_store>
625
+ </active>
626
+ <title translate="label">
627
+ <label>Title</label>
628
+ <frontend_type>text</frontend_type>
629
+ <sort_order>150</sort_order>
630
+ <show_in_default>1</show_in_default>
631
+ <show_in_website>1</show_in_website>
632
+ <show_in_store>1</show_in_store>
633
+ <validate>required-entry</validate>
634
+ </title>
635
+ <description translate="label">
636
+ <label>Description</label>
637
+ <frontend_type>text</frontend_type>
638
+ <sort_order>200</sort_order>
639
+ <show_in_default>1</show_in_default>
640
+ <show_in_website>1</show_in_website>
641
+ <show_in_store>1</show_in_store>
642
+ <validate>required-entry</validate>
643
+ </description>
644
+ <specificcountry translate="label">
645
+ <label>Payment from Specific Countries</label>
646
+ <sort_order>300</sort_order>
647
+ <frontend_type>multiselect</frontend_type>
648
+ <source_model>adminhtml/system_config_source_country</source_model>
649
+ <can_be_empty>1</can_be_empty>
650
+ <show_in_default>1</show_in_default>
651
+ <show_in_website>1</show_in_website>
652
+ <show_in_store>1</show_in_store>
653
+ </specificcountry>
654
+ <send_order_mail translate="label">
655
+ <label>Send order mail</label>
656
+ <sort_order>400</sort_order>
657
+ <frontend_type>select</frontend_type>
658
+ <source_model>adminhtml/system_config_source_yesno</source_model>
659
+ <show_in_default>1</show_in_default>
660
+ <show_in_website>1</show_in_website>
661
+ <show_in_store>1</show_in_store>
662
+ </send_order_mail>
663
+ <generate_invoice_upon_completion translate="label">
664
+ <label>Generate invoice upon succesfull transaction</label>
665
+ <sort_order>500</sort_order>
666
+ <frontend_type>select</frontend_type>
667
+ <source_model>adminhtml/system_config_source_yesno</source_model>
668
+ <show_in_default>1</show_in_default>
669
+ <show_in_website>1</show_in_website>
670
+ <show_in_store>1</show_in_store>
671
+ </generate_invoice_upon_completion>
672
+ <send_invoice_mail translate="label">
673
+ <label>Send invoice mail</label>
674
+ <sort_order>600</sort_order>
675
+ <frontend_type>select</frontend_type>
676
+ <source_model>adminhtml/system_config_source_yesno</source_model>
677
+ <show_in_default>1</show_in_default>
678
+ <show_in_website>1</show_in_website>
679
+ <show_in_store>1</show_in_store>
680
+ <depends>
681
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
682
+ </depends>
683
+ </send_invoice_mail>
684
+ <sort_order translate="label">
685
+ <label>Sort order</label>
686
+ <frontend_type>text</frontend_type>
687
+ <sort_order>700</sort_order>
688
+ <show_in_default>1</show_in_default>
689
+ <show_in_website>1</show_in_website>
690
+ <show_in_store>1</show_in_store>
691
+ </sort_order>
692
+
693
+ <ip_filter>
694
+ <label>IP Filtering</label>
695
+ <frontend_type>text</frontend_type>
696
+ <sort_order>800</sort_order>
697
+ <show_in_default>1</show_in_default>
698
+ <show_in_website>1</show_in_website>
699
+ <show_in_store>1</show_in_store>
700
+ <comment>Example: 127.0.0.1, 255.255.255.255</comment>
701
+ </ip_filter>
702
+
703
+ </fields>
704
+ </ingpsp_klarna>
705
+ <ingpsp_sofort translate="label comment" module="ingpsp">
706
+ <label>ING PSP - SOFORT</label>
707
+ <expanded>0</expanded>
708
+ <sort_order>123</sort_order>
709
+ <frontend_type>text</frontend_type>
710
+ <show_in_default>1</show_in_default>
711
+ <show_in_website>1</show_in_website>
712
+ <show_in_store>1</show_in_store>
713
+ <fields>
714
+ <active translate="label">
715
+ <label>Enabled</label>
716
+ <frontend_type>select</frontend_type>
717
+ <source_model>adminhtml/system_config_source_yesno</source_model>
718
+ <sort_order>100</sort_order>
719
+ <show_in_default>1</show_in_default>
720
+ <show_in_website>1</show_in_website>
721
+ <show_in_store>0</show_in_store>
722
+ </active>
723
+ <title translate="label">
724
+ <label>Title</label>
725
+ <frontend_type>text</frontend_type>
726
+ <sort_order>150</sort_order>
727
+ <show_in_default>1</show_in_default>
728
+ <show_in_website>1</show_in_website>
729
+ <show_in_store>1</show_in_store>
730
+ <validate>required-entry</validate>
731
+ </title>
732
+ <description translate="label">
733
+ <label>Description</label>
734
+ <frontend_type>text</frontend_type>
735
+ <sort_order>200</sort_order>
736
+ <show_in_default>1</show_in_default>
737
+ <show_in_website>1</show_in_website>
738
+ <show_in_store>1</show_in_store>
739
+ <validate>required-entry</validate>
740
+ </description>
741
+ <specificcountry translate="label">
742
+ <label>Payment from Specific Countries</label>
743
+ <sort_order>300</sort_order>
744
+ <frontend_type>multiselect</frontend_type>
745
+ <source_model>adminhtml/system_config_source_country</source_model>
746
+ <can_be_empty>1</can_be_empty>
747
+ <show_in_default>1</show_in_default>
748
+ <show_in_website>1</show_in_website>
749
+ <show_in_store>1</show_in_store>
750
+ </specificcountry>
751
+ <send_order_mail translate="label">
752
+ <label>Send order mail</label>
753
+ <sort_order>400</sort_order>
754
+ <frontend_type>select</frontend_type>
755
+ <source_model>adminhtml/system_config_source_yesno</source_model>
756
+ <show_in_default>1</show_in_default>
757
+ <show_in_website>1</show_in_website>
758
+ <show_in_store>1</show_in_store>
759
+ </send_order_mail>
760
+ <generate_invoice_upon_completion translate="label">
761
+ <label>Generate invoice upon succesfull transaction</label>
762
+ <sort_order>500</sort_order>
763
+ <frontend_type>select</frontend_type>
764
+ <source_model>adminhtml/system_config_source_yesno</source_model>
765
+ <show_in_default>1</show_in_default>
766
+ <show_in_website>1</show_in_website>
767
+ <show_in_store>1</show_in_store>
768
+ </generate_invoice_upon_completion>
769
+ <send_invoice_mail translate="label">
770
+ <label>Send invoice mail</label>
771
+ <sort_order>600</sort_order>
772
+ <frontend_type>select</frontend_type>
773
+ <source_model>adminhtml/system_config_source_yesno</source_model>
774
+ <show_in_default>1</show_in_default>
775
+ <show_in_website>1</show_in_website>
776
+ <show_in_store>1</show_in_store>
777
+ <depends>
778
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
779
+ </depends>
780
+ </send_invoice_mail>
781
+ <sort_order translate="label">
782
+ <label>Sort order</label>
783
+ <frontend_type>text</frontend_type>
784
+ <sort_order>700</sort_order>
785
+ <show_in_default>1</show_in_default>
786
+ <show_in_website>1</show_in_website>
787
+ <show_in_store>1</show_in_store>
788
+ </sort_order>
789
+ </fields>
790
+ </ingpsp_sofort>
791
+ <ingpsp_homepay translate="label comment" module="ingpsp">
792
+ <label>ING PSP - HomePay</label>
793
+ <expanded>0</expanded>
794
+ <sort_order>122</sort_order>
795
+ <frontend_type>text</frontend_type>
796
+ <show_in_default>1</show_in_default>
797
+ <show_in_website>1</show_in_website>
798
+ <show_in_store>1</show_in_store>
799
+ <fields>
800
+ <active translate="label">
801
+ <label>Enabled</label>
802
+ <frontend_type>select</frontend_type>
803
+ <source_model>adminhtml/system_config_source_yesno</source_model>
804
+ <sort_order>100</sort_order>
805
+ <show_in_default>1</show_in_default>
806
+ <show_in_website>1</show_in_website>
807
+ <show_in_store>0</show_in_store>
808
+ </active>
809
+ <title translate="label">
810
+ <label>Title</label>
811
+ <frontend_type>text</frontend_type>
812
+ <sort_order>150</sort_order>
813
+ <show_in_default>1</show_in_default>
814
+ <show_in_website>1</show_in_website>
815
+ <show_in_store>1</show_in_store>
816
+ <validate>required-entry</validate>
817
+ </title>
818
+ <description translate="label">
819
+ <label>Description</label>
820
+ <frontend_type>text</frontend_type>
821
+ <sort_order>200</sort_order>
822
+ <show_in_default>1</show_in_default>
823
+ <show_in_website>1</show_in_website>
824
+ <show_in_store>1</show_in_store>
825
+ <validate>required-entry</validate>
826
+ </description>
827
+ <specificcountry translate="label">
828
+ <label>Payment from Specific Countries</label>
829
+ <sort_order>300</sort_order>
830
+ <frontend_type>multiselect</frontend_type>
831
+ <source_model>adminhtml/system_config_source_country</source_model>
832
+ <can_be_empty>1</can_be_empty>
833
+ <show_in_default>1</show_in_default>
834
+ <show_in_website>1</show_in_website>
835
+ <show_in_store>1</show_in_store>
836
+ </specificcountry>
837
+ <send_order_mail translate="label">
838
+ <label>Send order mail</label>
839
+ <sort_order>400</sort_order>
840
+ <frontend_type>select</frontend_type>
841
+ <source_model>adminhtml/system_config_source_yesno</source_model>
842
+ <show_in_default>1</show_in_default>
843
+ <show_in_website>1</show_in_website>
844
+ <show_in_store>1</show_in_store>
845
+ </send_order_mail>
846
+ <generate_invoice_upon_completion translate="label">
847
+ <label>Generate invoice upon succesfull transaction</label>
848
+ <sort_order>500</sort_order>
849
+ <frontend_type>select</frontend_type>
850
+ <source_model>adminhtml/system_config_source_yesno</source_model>
851
+ <show_in_default>1</show_in_default>
852
+ <show_in_website>1</show_in_website>
853
+ <show_in_store>1</show_in_store>
854
+ </generate_invoice_upon_completion>
855
+ <send_invoice_mail translate="label">
856
+ <label>Send invoice mail</label>
857
+ <sort_order>600</sort_order>
858
+ <frontend_type>select</frontend_type>
859
+ <source_model>adminhtml/system_config_source_yesno</source_model>
860
+ <show_in_default>1</show_in_default>
861
+ <show_in_website>1</show_in_website>
862
+ <show_in_store>1</show_in_store>
863
+ <depends>
864
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
865
+ </depends>
866
+ </send_invoice_mail>
867
+ <sort_order translate="label">
868
+ <label>Sort order</label>
869
+ <frontend_type>text</frontend_type>
870
+ <sort_order>700</sort_order>
871
+ <show_in_default>1</show_in_default>
872
+ <show_in_website>1</show_in_website>
873
+ <show_in_store>1</show_in_store>
874
+ </sort_order>
875
+ </fields>
876
+ </ingpsp_homepay>
877
  </groups>
878
  </payment>
879
  </sections>
app/code/community/ING/PSP/etc/system.xml_bak ADDED
@@ -0,0 +1,874 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
+ * │╭──╮ ╭──╮│
6
+ * ││//│ │//││
7
+ * │╰──╯ ╰──╯│
8
+ * ╰──────────────╯
9
+ * ╭──────────╮ The MIT License (MIT)
10
+ * │ () () () │
11
+ *
12
+ * @category ING
13
+ * @package ING_PSP
14
+ * @author Ginger Payments B.V. (info@gingerpayments.com)
15
+ * @version v1.1.5
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
+ * @license The MIT License (MIT)
18
+ *
19
+ -->
20
+ <config>
21
+ <sections>
22
+ <payment>
23
+ <groups>
24
+ <ingpsp translate="label comment">
25
+ <label>ING PSP - Settings</label>
26
+ <expanded>0</expanded>
27
+ <sort_order>116</sort_order>
28
+ <frontend_type>text</frontend_type>
29
+ <show_in_default>1</show_in_default>
30
+ <show_in_website>1</show_in_website>
31
+ <show_in_store>1</show_in_store>
32
+ <fields>
33
+ <version>
34
+ <label>v1.1.5</label>
35
+ <frontend_model>adminhtml/system_config_form_field_heading</frontend_model>
36
+ <frontend_type>label</frontend_type>
37
+ <show_in_default>1</show_in_default>
38
+ <show_in_website>1</show_in_website>
39
+ <show_in_store>1</show_in_store>
40
+ </version>
41
+ <apikey translate="label">
42
+ <label>API Key</label>
43
+ <frontend_type>text</frontend_type>
44
+ <show_in_default>1</show_in_default>
45
+ <show_in_website>1</show_in_website>
46
+ <show_in_store>1</show_in_store>
47
+ <validate>required-entry validate-alphanum</validate>
48
+ </apikey>
49
+ <test_apikey translate="label">
50
+ <label>Test API Key</label>
51
+ <frontend_type>text</frontend_type>
52
+ <show_in_default>1</show_in_default>
53
+ <show_in_website>1</show_in_website>
54
+ <show_in_store>1</show_in_store>
55
+ <validate>validate-alphanum</validate>
56
+ <comment>Used for testing Klarna payment method.</comment>
57
+ </test_apikey>
58
+ <product translate="label">
59
+ <label>Product</label>
60
+ <frontend_type>select</frontend_type>
61
+ <source_model>ing_psp/system_config_source_dropdown_values</source_model>
62
+ <show_in_default>1</show_in_default>
63
+ <show_in_website>1</show_in_website>
64
+ <show_in_store>1</show_in_store>
65
+ </product>
66
+ <webhook translate="label">
67
+ <label>Webhook URL</label>
68
+ <frontend_type>select</frontend_type>
69
+ <source_model>adminhtml/system_config_source_yesno</source_model>
70
+ <show_in_default>1</show_in_default>
71
+ <show_in_website>1</show_in_website>
72
+ <show_in_store>1</show_in_store>
73
+ <comment>Include Webhook URL with every order creation</comment>
74
+ </webhook>
75
+ <bundle_cacert translate="label">
76
+ <label>Bundle CA.cert file</label>
77
+ <frontend_type>select</frontend_type>
78
+ <source_model>adminhtml/system_config_source_yesno</source_model>
79
+ <show_in_default>1</show_in_default>
80
+ <show_in_website>1</show_in_website>
81
+ <show_in_store>1</show_in_store>
82
+ <comment>Resolves issue when curl.cacert path is not set in PHP.ini</comment>
83
+ </bundle_cacert>
84
+ </fields>
85
+ </ingpsp>
86
+ <ingpsp_ideal translate="label comment" module="ingpsp">
87
+ <label>ING PSP - iDEAL</label>
88
+ <expanded>0</expanded>
89
+ <sort_order>117</sort_order>
90
+ <frontend_type>text</frontend_type>
91
+ <show_in_default>1</show_in_default>
92
+ <show_in_website>1</show_in_website>
93
+ <show_in_store>1</show_in_store>
94
+ <fields>
95
+ <active translate="label">
96
+ <label>Enabled</label>
97
+ <frontend_type>select</frontend_type>
98
+ <source_model>adminhtml/system_config_source_yesno</source_model>
99
+ <sort_order>100</sort_order>
100
+ <show_in_default>1</show_in_default>
101
+ <show_in_website>1</show_in_website>
102
+ <show_in_store>0</show_in_store>
103
+ </active>
104
+ <title translate="label">
105
+ <label>Title</label>
106
+ <frontend_type>text</frontend_type>
107
+ <sort_order>150</sort_order>
108
+ <show_in_default>1</show_in_default>
109
+ <show_in_website>1</show_in_website>
110
+ <show_in_store>1</show_in_store>
111
+ <validate>required-entry</validate>
112
+ </title>
113
+ <description translate="label">
114
+ <label>Description</label>
115
+ <frontend_type>text</frontend_type>
116
+ <sort_order>200</sort_order>
117
+ <show_in_default>1</show_in_default>
118
+ <show_in_website>1</show_in_website>
119
+ <show_in_store>1</show_in_store>
120
+ <validate>required-entry</validate>
121
+ </description>
122
+ <specificcountry translate="label">
123
+ <label>Payment from Specific Countries</label>
124
+ <sort_order>300</sort_order>
125
+ <frontend_type>multiselect</frontend_type>
126
+ <source_model>adminhtml/system_config_source_country</source_model>
127
+ <can_be_empty>1</can_be_empty>
128
+ <show_in_default>1</show_in_default>
129
+ <show_in_website>1</show_in_website>
130
+ <show_in_store>1</show_in_store>
131
+ </specificcountry>
132
+ <send_order_mail translate="label">
133
+ <label>Send order mail</label>
134
+ <sort_order>400</sort_order>
135
+ <frontend_type>select</frontend_type>
136
+ <source_model>adminhtml/system_config_source_yesno</source_model>
137
+ <show_in_default>1</show_in_default>
138
+ <show_in_website>1</show_in_website>
139
+ <show_in_store>1</show_in_store>
140
+ </send_order_mail>
141
+ <generate_invoice_upon_completion translate="label">
142
+ <label>Generate invoice upon succesfull transaction</label>
143
+ <sort_order>500</sort_order>
144
+ <frontend_type>select</frontend_type>
145
+ <source_model>adminhtml/system_config_source_yesno</source_model>
146
+ <show_in_default>1</show_in_default>
147
+ <show_in_website>1</show_in_website>
148
+ <show_in_store>1</show_in_store>
149
+ </generate_invoice_upon_completion>
150
+ <send_invoice_mail translate="label">
151
+ <label>Send invoice mail</label>
152
+ <sort_order>600</sort_order>
153
+ <frontend_type>select</frontend_type>
154
+ <source_model>adminhtml/system_config_source_yesno</source_model>
155
+ <show_in_default>1</show_in_default>
156
+ <show_in_website>1</show_in_website>
157
+ <show_in_store>1</show_in_store>
158
+ <depends>
159
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
160
+ </depends>
161
+ </send_invoice_mail>
162
+ <sort_order translate="label">
163
+ <label>Sort order</label>
164
+ <frontend_type>text</frontend_type>
165
+ <sort_order>700</sort_order>
166
+ <show_in_default>1</show_in_default>
167
+ <show_in_website>1</show_in_website>
168
+ <show_in_store>1</show_in_store>
169
+ </sort_order>
170
+ </fields>
171
+ </ingpsp_ideal>
172
+ <ingpsp_banktransfer translate="label comment" module="ingpsp">
173
+ <label>ING PSP - Banktransfer</label>
174
+ <expanded>0</expanded>
175
+ <sort_order>118</sort_order>
176
+ <frontend_type>text</frontend_type>
177
+ <show_in_default>1</show_in_default>
178
+ <show_in_website>1</show_in_website>
179
+ <show_in_store>1</show_in_store>
180
+ <fields>
181
+ <active translate="label">
182
+ <label>Enabled</label>
183
+ <frontend_type>select</frontend_type>
184
+ <source_model>adminhtml/system_config_source_yesno</source_model>
185
+ <sort_order>100</sort_order>
186
+ <show_in_default>1</show_in_default>
187
+ <show_in_website>1</show_in_website>
188
+ <show_in_store>0</show_in_store>
189
+ </active>
190
+ <title translate="label">
191
+ <label>Title</label>
192
+ <frontend_type>text</frontend_type>
193
+ <sort_order>150</sort_order>
194
+ <show_in_default>1</show_in_default>
195
+ <show_in_website>1</show_in_website>
196
+ <show_in_store>1</show_in_store>
197
+ <validate>required-entry</validate>
198
+ </title>
199
+ <description translate="label">
200
+ <label>Description</label>
201
+ <frontend_type>text</frontend_type>
202
+ <sort_order>200</sort_order>
203
+ <show_in_default>1</show_in_default>
204
+ <show_in_website>1</show_in_website>
205
+ <show_in_store>1</show_in_store>
206
+ <validate>required-entry</validate>
207
+ </description>
208
+ <specificcountry translate="label">
209
+ <label>Payment from Specific Countries</label>
210
+ <sort_order>300</sort_order>
211
+ <frontend_type>multiselect</frontend_type>
212
+ <source_model>adminhtml/system_config_source_country</source_model>
213
+ <can_be_empty>1</can_be_empty>
214
+ <show_in_default>1</show_in_default>
215
+ <show_in_website>1</show_in_website>
216
+ <show_in_store>1</show_in_store>
217
+ </specificcountry>
218
+ <send_order_mail translate="label">
219
+ <label>Send order mail</label>
220
+ <sort_order>400</sort_order>
221
+ <frontend_type>select</frontend_type>
222
+ <source_model>adminhtml/system_config_source_yesno</source_model>
223
+ <show_in_default>1</show_in_default>
224
+ <show_in_website>1</show_in_website>
225
+ <show_in_store>1</show_in_store>
226
+ </send_order_mail>
227
+ <generate_invoice_upon_completion translate="label">
228
+ <label>Generate invoice upon succesfull transaction</label>
229
+ <sort_order>500</sort_order>
230
+ <frontend_type>select</frontend_type>
231
+ <source_model>adminhtml/system_config_source_yesno</source_model>
232
+ <show_in_default>1</show_in_default>
233
+ <show_in_website>1</show_in_website>
234
+ <show_in_store>1</show_in_store>
235
+ </generate_invoice_upon_completion>
236
+ <send_invoice_mail translate="label">
237
+ <label>Send invoice mail</label>
238
+ <sort_order>600</sort_order>
239
+ <frontend_type>select</frontend_type>
240
+ <source_model>adminhtml/system_config_source_yesno</source_model>
241
+ <show_in_default>1</show_in_default>
242
+ <show_in_website>1</show_in_website>
243
+ <show_in_store>1</show_in_store>
244
+ <depends>
245
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
246
+ </depends>
247
+ </send_invoice_mail>
248
+ <sort_order translate="label">
249
+ <label>Sort order</label>
250
+ <frontend_type>text</frontend_type>
251
+ <sort_order>700</sort_order>
252
+ <show_in_default>1</show_in_default>
253
+ <show_in_website>1</show_in_website>
254
+ <show_in_store>1</show_in_store>
255
+ </sort_order>
256
+ </fields>
257
+ </ingpsp_banktransfer>
258
+ <ingpsp_creditcard translate="label comment" module="ingpsp">
259
+ <label>ING PSP - Mastercard, VISA, Maestro of V PAY</label>
260
+ <expanded>0</expanded>
261
+ <sort_order>119</sort_order>
262
+ <frontend_type>text</frontend_type>
263
+ <show_in_default>1</show_in_default>
264
+ <show_in_website>1</show_in_website>
265
+ <show_in_store>1</show_in_store>
266
+ <fields>
267
+ <active translate="label">
268
+ <label>Enabled</label>
269
+ <frontend_type>select</frontend_type>
270
+ <source_model>adminhtml/system_config_source_yesno</source_model>
271
+ <sort_order>100</sort_order>
272
+ <show_in_default>1</show_in_default>
273
+ <show_in_website>1</show_in_website>
274
+ <show_in_store>0</show_in_store>
275
+ </active>
276
+ <title translate="label">
277
+ <label>Title</label>
278
+ <frontend_type>text</frontend_type>
279
+ <sort_order>150</sort_order>
280
+ <show_in_default>1</show_in_default>
281
+ <show_in_website>1</show_in_website>
282
+ <show_in_store>1</show_in_store>
283
+ <validate>required-entry</validate>
284
+ </title>
285
+ <description translate="label">
286
+ <label>Description</label>
287
+ <frontend_type>text</frontend_type>
288
+ <sort_order>200</sort_order>
289
+ <show_in_default>1</show_in_default>
290
+ <show_in_website>1</show_in_website>
291
+ <show_in_store>1</show_in_store>
292
+ <validate>required-entry</validate>
293
+ </description>
294
+ <specificcountry translate="label">
295
+ <label>Payment from Specific Countries</label>
296
+ <sort_order>300</sort_order>
297
+ <frontend_type>multiselect</frontend_type>
298
+ <source_model>adminhtml/system_config_source_country</source_model>
299
+ <can_be_empty>1</can_be_empty>
300
+ <show_in_default>1</show_in_default>
301
+ <show_in_website>1</show_in_website>
302
+ <show_in_store>1</show_in_store>
303
+ </specificcountry>
304
+ <send_order_mail translate="label">
305
+ <label>Send order mail</label>
306
+ <sort_order>400</sort_order>
307
+ <frontend_type>select</frontend_type>
308
+ <source_model>adminhtml/system_config_source_yesno</source_model>
309
+ <show_in_default>1</show_in_default>
310
+ <show_in_website>1</show_in_website>
311
+ <show_in_store>1</show_in_store>
312
+ </send_order_mail>
313
+ <generate_invoice_upon_completion translate="label">
314
+ <label>Generate invoice upon succesfull transaction</label>
315
+ <sort_order>500</sort_order>
316
+ <frontend_type>select</frontend_type>
317
+ <source_model>adminhtml/system_config_source_yesno</source_model>
318
+ <show_in_default>1</show_in_default>
319
+ <show_in_website>1</show_in_website>
320
+ <show_in_store>1</show_in_store>
321
+ </generate_invoice_upon_completion>
322
+ <send_invoice_mail translate="label">
323
+ <label>Send invoice mail</label>
324
+ <sort_order>600</sort_order>
325
+ <frontend_type>select</frontend_type>
326
+ <source_model>adminhtml/system_config_source_yesno</source_model>
327
+ <show_in_default>1</show_in_default>
328
+ <show_in_website>1</show_in_website>
329
+ <show_in_store>1</show_in_store>
330
+ <depends>
331
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
332
+ </depends>
333
+ </send_invoice_mail>
334
+ <sort_order translate="label">
335
+ <label>Sort order</label>
336
+ <frontend_type>text</frontend_type>
337
+ <sort_order>700</sort_order>
338
+ <show_in_default>1</show_in_default>
339
+ <show_in_website>1</show_in_website>
340
+ <show_in_store>1</show_in_store>
341
+ </sort_order>
342
+ </fields>
343
+ </ingpsp_creditcard>
344
+ <ingpsp_cashondelivery translate="label comment" module="ingpsp">
345
+ <label>ING PSP - Cashondelivery</label>
346
+ <expanded>0</expanded>
347
+ <sort_order>120</sort_order>
348
+ <frontend_type>text</frontend_type>
349
+ <show_in_default>1</show_in_default>
350
+ <show_in_website>1</show_in_website>
351
+ <show_in_store>1</show_in_store>
352
+ <fields>
353
+ <active translate="label">
354
+ <label>Enabled</label>
355
+ <frontend_type>select</frontend_type>
356
+ <source_model>adminhtml/system_config_source_yesno</source_model>
357
+ <sort_order>100</sort_order>
358
+ <show_in_default>1</show_in_default>
359
+ <show_in_website>1</show_in_website>
360
+ <show_in_store>0</show_in_store>
361
+ </active>
362
+ <title translate="label">
363
+ <label>Title</label>
364
+ <frontend_type>text</frontend_type>
365
+ <sort_order>150</sort_order>
366
+ <show_in_default>1</show_in_default>
367
+ <show_in_website>1</show_in_website>
368
+ <show_in_store>1</show_in_store>
369
+ <validate>required-entry</validate>
370
+ </title>
371
+ <description translate="label">
372
+ <label>Description</label>
373
+ <frontend_type>text</frontend_type>
374
+ <sort_order>200</sort_order>
375
+ <show_in_default>1</show_in_default>
376
+ <show_in_website>1</show_in_website>
377
+ <show_in_store>1</show_in_store>
378
+ <validate>required-entry</validate>
379
+ </description>
380
+ <specificcountry translate="label">
381
+ <label>Payment from Specific Countries</label>
382
+ <sort_order>300</sort_order>
383
+ <frontend_type>multiselect</frontend_type>
384
+ <source_model>adminhtml/system_config_source_country</source_model>
385
+ <can_be_empty>1</can_be_empty>
386
+ <show_in_default>1</show_in_default>
387
+ <show_in_website>1</show_in_website>
388
+ <show_in_store>1</show_in_store>
389
+ </specificcountry>
390
+ <send_order_mail translate="label">
391
+ <label>Send order mail</label>
392
+ <sort_order>400</sort_order>
393
+ <frontend_type>select</frontend_type>
394
+ <source_model>adminhtml/system_config_source_yesno</source_model>
395
+ <show_in_default>1</show_in_default>
396
+ <show_in_website>1</show_in_website>
397
+ <show_in_store>1</show_in_store>
398
+ </send_order_mail>
399
+ <generate_invoice_upon_completion translate="label">
400
+ <label>Generate invoice upon succesfull transaction</label>
401
+ <sort_order>500</sort_order>
402
+ <frontend_type>select</frontend_type>
403
+ <source_model>adminhtml/system_config_source_yesno</source_model>
404
+ <show_in_default>1</show_in_default>
405
+ <show_in_website>1</show_in_website>
406
+ <show_in_store>1</show_in_store>
407
+ </generate_invoice_upon_completion>
408
+ <send_invoice_mail translate="label">
409
+ <label>Send invoice mail</label>
410
+ <sort_order>600</sort_order>
411
+ <frontend_type>select</frontend_type>
412
+ <source_model>adminhtml/system_config_source_yesno</source_model>
413
+ <show_in_default>1</show_in_default>
414
+ <show_in_website>1</show_in_website>
415
+ <show_in_store>1</show_in_store>
416
+ <depends>
417
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
418
+ </depends>
419
+ </send_invoice_mail>
420
+ <sort_order translate="label">
421
+ <label>Sort order</label>
422
+ <frontend_type>text</frontend_type>
423
+ <sort_order>700</sort_order>
424
+ <show_in_default>1</show_in_default>
425
+ <show_in_website>1</show_in_website>
426
+ <show_in_store>1</show_in_store>
427
+ </sort_order>
428
+ </fields>
429
+ </ingpsp_cashondelivery>
430
+ <ingpsp_bancontact translate="label comment" module="ingpsp">
431
+ <label>ING PSP - Bancontact</label>
432
+ <expanded>0</expanded>
433
+ <sort_order>121</sort_order>
434
+ <frontend_type>text</frontend_type>
435
+ <show_in_default>1</show_in_default>
436
+ <show_in_website>1</show_in_website>
437
+ <show_in_store>1</show_in_store>
438
+ <fields>
439
+ <active translate="label">
440
+ <label>Enabled</label>
441
+ <frontend_type>select</frontend_type>
442
+ <source_model>adminhtml/system_config_source_yesno</source_model>
443
+ <sort_order>100</sort_order>
444
+ <show_in_default>1</show_in_default>
445
+ <show_in_website>1</show_in_website>
446
+ <show_in_store>0</show_in_store>
447
+ </active>
448
+ <title translate="label">
449
+ <label>Title</label>
450
+ <frontend_type>text</frontend_type>
451
+ <sort_order>150</sort_order>
452
+ <show_in_default>1</show_in_default>
453
+ <show_in_website>1</show_in_website>
454
+ <show_in_store>1</show_in_store>
455
+ <validate>required-entry</validate>
456
+ </title>
457
+ <description translate="label">
458
+ <label>Description</label>
459
+ <frontend_type>text</frontend_type>
460
+ <sort_order>200</sort_order>
461
+ <show_in_default>1</show_in_default>
462
+ <show_in_website>1</show_in_website>
463
+ <show_in_store>1</show_in_store>
464
+ <validate>required-entry</validate>
465
+ </description>
466
+ <specificcountry translate="label">
467
+ <label>Payment from Specific Countries</label>
468
+ <sort_order>300</sort_order>
469
+ <frontend_type>multiselect</frontend_type>
470
+ <source_model>adminhtml/system_config_source_country</source_model>
471
+ <can_be_empty>1</can_be_empty>
472
+ <show_in_default>1</show_in_default>
473
+ <show_in_website>1</show_in_website>
474
+ <show_in_store>1</show_in_store>
475
+ </specificcountry>
476
+ <send_order_mail translate="label">
477
+ <label>Send order mail</label>
478
+ <sort_order>400</sort_order>
479
+ <frontend_type>select</frontend_type>
480
+ <source_model>adminhtml/system_config_source_yesno</source_model>
481
+ <show_in_default>1</show_in_default>
482
+ <show_in_website>1</show_in_website>
483
+ <show_in_store>1</show_in_store>
484
+ </send_order_mail>
485
+ <generate_invoice_upon_completion translate="label">
486
+ <label>Generate invoice upon succesfull transaction</label>
487
+ <sort_order>500</sort_order>
488
+ <frontend_type>select</frontend_type>
489
+ <source_model>adminhtml/system_config_source_yesno</source_model>
490
+ <show_in_default>1</show_in_default>
491
+ <show_in_website>1</show_in_website>
492
+ <show_in_store>1</show_in_store>
493
+ </generate_invoice_upon_completion>
494
+ <send_invoice_mail translate="label">
495
+ <label>Send invoice mail</label>
496
+ <sort_order>600</sort_order>
497
+ <frontend_type>select</frontend_type>
498
+ <source_model>adminhtml/system_config_source_yesno</source_model>
499
+ <show_in_default>1</show_in_default>
500
+ <show_in_website>1</show_in_website>
501
+ <show_in_store>1</show_in_store>
502
+ <depends>
503
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
504
+ </depends>
505
+ </send_invoice_mail>
506
+ <sort_order translate="label">
507
+ <label>Sort order</label>
508
+ <frontend_type>text</frontend_type>
509
+ <sort_order>700</sort_order>
510
+ <show_in_default>1</show_in_default>
511
+ <show_in_website>1</show_in_website>
512
+ <show_in_store>1</show_in_store>
513
+ </sort_order>
514
+ </fields>
515
+ </ingpsp_bancontact>
516
+ <ingpsp_paypal translate="label comment" module="ingpsp">
517
+ <label>ING PSP - PayPal</label>
518
+ <expanded>0</expanded>
519
+ <sort_order>122</sort_order>
520
+ <frontend_type>text</frontend_type>
521
+ <show_in_default>1</show_in_default>
522
+ <show_in_website>1</show_in_website>
523
+ <show_in_store>1</show_in_store>
524
+ <fields>
525
+ <active translate="label">
526
+ <label>Enabled</label>
527
+ <frontend_type>select</frontend_type>
528
+ <source_model>adminhtml/system_config_source_yesno</source_model>
529
+ <sort_order>100</sort_order>
530
+ <show_in_default>1</show_in_default>
531
+ <show_in_website>1</show_in_website>
532
+ <show_in_store>0</show_in_store>
533
+ </active>
534
+ <title translate="label">
535
+ <label>Title</label>
536
+ <frontend_type>text</frontend_type>
537
+ <sort_order>150</sort_order>
538
+ <show_in_default>1</show_in_default>
539
+ <show_in_website>1</show_in_website>
540
+ <show_in_store>1</show_in_store>
541
+ <validate>required-entry</validate>
542
+ </title>
543
+ <description translate="label">
544
+ <label>Description</label>
545
+ <frontend_type>text</frontend_type>
546
+ <sort_order>200</sort_order>
547
+ <show_in_default>1</show_in_default>
548
+ <show_in_website>1</show_in_website>
549
+ <show_in_store>1</show_in_store>
550
+ <validate>required-entry</validate>
551
+ </description>
552
+ <specificcountry translate="label">
553
+ <label>Payment from Specific Countries</label>
554
+ <sort_order>300</sort_order>
555
+ <frontend_type>multiselect</frontend_type>
556
+ <source_model>adminhtml/system_config_source_country</source_model>
557
+ <can_be_empty>1</can_be_empty>
558
+ <show_in_default>1</show_in_default>
559
+ <show_in_website>1</show_in_website>
560
+ <show_in_store>1</show_in_store>
561
+ </specificcountry>
562
+ <send_order_mail translate="label">
563
+ <label>Send order mail</label>
564
+ <sort_order>400</sort_order>
565
+ <frontend_type>select</frontend_type>
566
+ <source_model>adminhtml/system_config_source_yesno</source_model>
567
+ <show_in_default>1</show_in_default>
568
+ <show_in_website>1</show_in_website>
569
+ <show_in_store>1</show_in_store>
570
+ </send_order_mail>
571
+ <generate_invoice_upon_completion translate="label">
572
+ <label>Generate invoice upon succesfull transaction</label>
573
+ <sort_order>500</sort_order>
574
+ <frontend_type>select</frontend_type>
575
+ <source_model>adminhtml/system_config_source_yesno</source_model>
576
+ <show_in_default>1</show_in_default>
577
+ <show_in_website>1</show_in_website>
578
+ <show_in_store>1</show_in_store>
579
+ </generate_invoice_upon_completion>
580
+ <send_invoice_mail translate="label">
581
+ <label>Send invoice mail</label>
582
+ <sort_order>600</sort_order>
583
+ <frontend_type>select</frontend_type>
584
+ <source_model>adminhtml/system_config_source_yesno</source_model>
585
+ <show_in_default>1</show_in_default>
586
+ <show_in_website>1</show_in_website>
587
+ <show_in_store>1</show_in_store>
588
+ <depends>
589
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
590
+ </depends>
591
+ </send_invoice_mail>
592
+ <sort_order translate="label">
593
+ <label>Sort order</label>
594
+ <frontend_type>text</frontend_type>
595
+ <sort_order>700</sort_order>
596
+ <show_in_default>1</show_in_default>
597
+ <show_in_website>1</show_in_website>
598
+ <show_in_store>1</show_in_store>
599
+ </sort_order>
600
+ </fields>
601
+ </ingpsp_paypal>
602
+ <ingpsp_klarna translate="label comment" module="ingpsp">
603
+ <label>ING PSP - Klarna</label>
604
+ <expanded>0</expanded>
605
+ <sort_order>123</sort_order>
606
+ <frontend_type>text</frontend_type>
607
+ <show_in_default>1</show_in_default>
608
+ <show_in_website>1</show_in_website>
609
+ <show_in_store>1</show_in_store>
610
+ <fields>
611
+ <active translate="label">
612
+ <label>Enabled</label>
613
+ <frontend_type>select</frontend_type>
614
+ <source_model>adminhtml/system_config_source_yesno</source_model>
615
+ <sort_order>100</sort_order>
616
+ <show_in_default>1</show_in_default>
617
+ <show_in_website>1</show_in_website>
618
+ <show_in_store>0</show_in_store>
619
+ </active>
620
+ <title translate="label">
621
+ <label>Title</label>
622
+ <frontend_type>text</frontend_type>
623
+ <sort_order>150</sort_order>
624
+ <show_in_default>1</show_in_default>
625
+ <show_in_website>1</show_in_website>
626
+ <show_in_store>1</show_in_store>
627
+ <validate>required-entry</validate>
628
+ </title>
629
+ <description translate="label">
630
+ <label>Description</label>
631
+ <frontend_type>text</frontend_type>
632
+ <sort_order>200</sort_order>
633
+ <show_in_default>1</show_in_default>
634
+ <show_in_website>1</show_in_website>
635
+ <show_in_store>1</show_in_store>
636
+ <validate>required-entry</validate>
637
+ </description>
638
+ <specificcountry translate="label">
639
+ <label>Payment from Specific Countries</label>
640
+ <sort_order>300</sort_order>
641
+ <frontend_type>multiselect</frontend_type>
642
+ <source_model>adminhtml/system_config_source_country</source_model>
643
+ <can_be_empty>1</can_be_empty>
644
+ <show_in_default>1</show_in_default>
645
+ <show_in_website>1</show_in_website>
646
+ <show_in_store>1</show_in_store>
647
+ </specificcountry>
648
+ <send_order_mail translate="label">
649
+ <label>Send order mail</label>
650
+ <sort_order>400</sort_order>
651
+ <frontend_type>select</frontend_type>
652
+ <source_model>adminhtml/system_config_source_yesno</source_model>
653
+ <show_in_default>1</show_in_default>
654
+ <show_in_website>1</show_in_website>
655
+ <show_in_store>1</show_in_store>
656
+ </send_order_mail>
657
+ <generate_invoice_upon_completion translate="label">
658
+ <label>Generate invoice upon succesfull transaction</label>
659
+ <sort_order>500</sort_order>
660
+ <frontend_type>select</frontend_type>
661
+ <source_model>adminhtml/system_config_source_yesno</source_model>
662
+ <show_in_default>1</show_in_default>
663
+ <show_in_website>1</show_in_website>
664
+ <show_in_store>1</show_in_store>
665
+ </generate_invoice_upon_completion>
666
+ <send_invoice_mail translate="label">
667
+ <label>Send invoice mail</label>
668
+ <sort_order>600</sort_order>
669
+ <frontend_type>select</frontend_type>
670
+ <source_model>adminhtml/system_config_source_yesno</source_model>
671
+ <show_in_default>1</show_in_default>
672
+ <show_in_website>1</show_in_website>
673
+ <show_in_store>1</show_in_store>
674
+ <depends>
675
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
676
+ </depends>
677
+ </send_invoice_mail>
678
+ <sort_order translate="label">
679
+ <label>Sort order</label>
680
+ <frontend_type>text</frontend_type>
681
+ <sort_order>700</sort_order>
682
+ <show_in_default>1</show_in_default>
683
+ <show_in_website>1</show_in_website>
684
+ <show_in_store>1</show_in_store>
685
+ </sort_order>
686
+
687
+ <ip_filter>
688
+ <label>IP Filtering</label>
689
+ <frontend_type>text</frontend_type>
690
+ <sort_order>800</sort_order>
691
+ <show_in_default>1</show_in_default>
692
+ <show_in_website>1</show_in_website>
693
+ <show_in_store>1</show_in_store>
694
+ <comment>Example: 127.0.0.1, 255.255.255.255</comment>
695
+ </ip_filter>
696
+
697
+ </fields>
698
+ </ingpsp_klarna>
699
+ <ingpsp_sofort translate="label comment" module="ingpsp">
700
+ <label>ING PSP - SOFORT</label>
701
+ <expanded>0</expanded>
702
+ <sort_order>123</sort_order>
703
+ <frontend_type>text</frontend_type>
704
+ <show_in_default>1</show_in_default>
705
+ <show_in_website>1</show_in_website>
706
+ <show_in_store>1</show_in_store>
707
+ <fields>
708
+ <active translate="label">
709
+ <label>Enabled</label>
710
+ <frontend_type>select</frontend_type>
711
+ <source_model>adminhtml/system_config_source_yesno</source_model>
712
+ <sort_order>100</sort_order>
713
+ <show_in_default>1</show_in_default>
714
+ <show_in_website>1</show_in_website>
715
+ <show_in_store>0</show_in_store>
716
+ </active>
717
+ <title translate="label">
718
+ <label>Title</label>
719
+ <frontend_type>text</frontend_type>
720
+ <sort_order>150</sort_order>
721
+ <show_in_default>1</show_in_default>
722
+ <show_in_website>1</show_in_website>
723
+ <show_in_store>1</show_in_store>
724
+ <validate>required-entry</validate>
725
+ </title>
726
+ <description translate="label">
727
+ <label>Description</label>
728
+ <frontend_type>text</frontend_type>
729
+ <sort_order>200</sort_order>
730
+ <show_in_default>1</show_in_default>
731
+ <show_in_website>1</show_in_website>
732
+ <show_in_store>1</show_in_store>
733
+ <validate>required-entry</validate>
734
+ </description>
735
+ <specificcountry translate="label">
736
+ <label>Payment from Specific Countries</label>
737
+ <sort_order>300</sort_order>
738
+ <frontend_type>multiselect</frontend_type>
739
+ <source_model>adminhtml/system_config_source_country</source_model>
740
+ <can_be_empty>1</can_be_empty>
741
+ <show_in_default>1</show_in_default>
742
+ <show_in_website>1</show_in_website>
743
+ <show_in_store>1</show_in_store>
744
+ </specificcountry>
745
+ <send_order_mail translate="label">
746
+ <label>Send order mail</label>
747
+ <sort_order>400</sort_order>
748
+ <frontend_type>select</frontend_type>
749
+ <source_model>adminhtml/system_config_source_yesno</source_model>
750
+ <show_in_default>1</show_in_default>
751
+ <show_in_website>1</show_in_website>
752
+ <show_in_store>1</show_in_store>
753
+ </send_order_mail>
754
+ <generate_invoice_upon_completion translate="label">
755
+ <label>Generate invoice upon succesfull transaction</label>
756
+ <sort_order>500</sort_order>
757
+ <frontend_type>select</frontend_type>
758
+ <source_model>adminhtml/system_config_source_yesno</source_model>
759
+ <show_in_default>1</show_in_default>
760
+ <show_in_website>1</show_in_website>
761
+ <show_in_store>1</show_in_store>
762
+ </generate_invoice_upon_completion>
763
+ <send_invoice_mail translate="label">
764
+ <label>Send invoice mail</label>
765
+ <sort_order>600</sort_order>
766
+ <frontend_type>select</frontend_type>
767
+ <source_model>adminhtml/system_config_source_yesno</source_model>
768
+ <show_in_default>1</show_in_default>
769
+ <show_in_website>1</show_in_website>
770
+ <show_in_store>1</show_in_store>
771
+ <depends>
772
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
773
+ </depends>
774
+ </send_invoice_mail>
775
+ <sort_order translate="label">
776
+ <label>Sort order</label>
777
+ <frontend_type>text</frontend_type>
778
+ <sort_order>700</sort_order>
779
+ <show_in_default>1</show_in_default>
780
+ <show_in_website>1</show_in_website>
781
+ <show_in_store>1</show_in_store>
782
+ </sort_order>
783
+ </fields>
784
+ </ingpsp_sofort>
785
+ <ingpsp_homepay translate="label comment" module="ingpsp">
786
+ <label>ING PSP - HomePay</label>
787
+ <expanded>0</expanded>
788
+ <sort_order>122</sort_order>
789
+ <frontend_type>text</frontend_type>
790
+ <show_in_default>1</show_in_default>
791
+ <show_in_website>1</show_in_website>
792
+ <show_in_store>1</show_in_store>
793
+ <fields>
794
+ <active translate="label">
795
+ <label>Enabled</label>
796
+ <frontend_type>select</frontend_type>
797
+ <source_model>adminhtml/system_config_source_yesno</source_model>
798
+ <sort_order>100</sort_order>
799
+ <show_in_default>1</show_in_default>
800
+ <show_in_website>1</show_in_website>
801
+ <show_in_store>0</show_in_store>
802
+ </active>
803
+ <title translate="label">
804
+ <label>Title</label>
805
+ <frontend_type>text</frontend_type>
806
+ <sort_order>150</sort_order>
807
+ <show_in_default>1</show_in_default>
808
+ <show_in_website>1</show_in_website>
809
+ <show_in_store>1</show_in_store>
810
+ <validate>required-entry</validate>
811
+ </title>
812
+ <description translate="label">
813
+ <label>Description</label>
814
+ <frontend_type>text</frontend_type>
815
+ <sort_order>200</sort_order>
816
+ <show_in_default>1</show_in_default>
817
+ <show_in_website>1</show_in_website>
818
+ <show_in_store>1</show_in_store>
819
+ <validate>required-entry</validate>
820
+ </description>
821
+ <specificcountry translate="label">
822
+ <label>Payment from Specific Countries</label>
823
+ <sort_order>300</sort_order>
824
+ <frontend_type>multiselect</frontend_type>
825
+ <source_model>adminhtml/system_config_source_country</source_model>
826
+ <can_be_empty>1</can_be_empty>
827
+ <show_in_default>1</show_in_default>
828
+ <show_in_website>1</show_in_website>
829
+ <show_in_store>1</show_in_store>
830
+ </specificcountry>
831
+ <send_order_mail translate="label">
832
+ <label>Send order mail</label>
833
+ <sort_order>400</sort_order>
834
+ <frontend_type>select</frontend_type>
835
+ <source_model>adminhtml/system_config_source_yesno</source_model>
836
+ <show_in_default>1</show_in_default>
837
+ <show_in_website>1</show_in_website>
838
+ <show_in_store>1</show_in_store>
839
+ </send_order_mail>
840
+ <generate_invoice_upon_completion translate="label">
841
+ <label>Generate invoice upon succesfull transaction</label>
842
+ <sort_order>500</sort_order>
843
+ <frontend_type>select</frontend_type>
844
+ <source_model>adminhtml/system_config_source_yesno</source_model>
845
+ <show_in_default>1</show_in_default>
846
+ <show_in_website>1</show_in_website>
847
+ <show_in_store>1</show_in_store>
848
+ </generate_invoice_upon_completion>
849
+ <send_invoice_mail translate="label">
850
+ <label>Send invoice mail</label>
851
+ <sort_order>600</sort_order>
852
+ <frontend_type>select</frontend_type>
853
+ <source_model>adminhtml/system_config_source_yesno</source_model>
854
+ <show_in_default>1</show_in_default>
855
+ <show_in_website>1</show_in_website>
856
+ <show_in_store>1</show_in_store>
857
+ <depends>
858
+ <generate_invoice_upon_completion>1</generate_invoice_upon_completion>
859
+ </depends>
860
+ </send_invoice_mail>
861
+ <sort_order translate="label">
862
+ <label>Sort order</label>
863
+ <frontend_type>text</frontend_type>
864
+ <sort_order>700</sort_order>
865
+ <show_in_default>1</show_in_default>
866
+ <show_in_website>1</show_in_website>
867
+ <show_in_store>1</show_in_store>
868
+ </sort_order>
869
+ </fields>
870
+ </ingpsp_homepay>
871
+ </groups>
872
+ </payment>
873
+ </sections>
874
+ </config>
app/code/community/ING/PSP/sql/ingpsp_setup/mysql4-install-0.0.1.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/sql/ingpsp_setup/mysql4-uninstall-0.0.1.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/sql/ingpsp_setup/mysql4-upgrade-0.0.1-0.0.2.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/code/community/ING/PSP/sql/ingpsp_setup/mysql4-upgrade-0.0.2-0.0.3.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/design/adminhtml/default/default/template/ing_psp/info/banktransfer.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/design/adminhtml/default/default/template/ing_psp/info/cashondelivery.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/design/frontend/base/default/layout/ing_psp.xml CHANGED
@@ -2,7 +2,7 @@
2
  <!--
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -13,8 +13,8 @@
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger B.V. (info@gingerpayments.com)
16
- * @version v1.1.3
17
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
2
  <!--
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
13
  * @category ING
14
  * @package ING_PSP
15
  * @author Ginger B.V. (info@gingerpayments.com)
16
+ * @version v1.1.7
17
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
18
  * @license The MIT License (MIT)
19
  *
20
  **/
app/design/frontend/base/default/template/ing_psp/form/banktransfer.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/design/frontend/base/default/template/ing_psp/form/cashondelivery.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/design/frontend/base/default/template/ing_psp/form/ideal.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/design/frontend/base/default/template/ing_psp/info/banktransfer.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/design/frontend/base/default/template/ing_psp/info/cashondelivery.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/design/frontend/base/default/template/ing_psp/success.phtml CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  /**
3
  * ╲ ╱
4
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
@@ -12,8 +12,8 @@
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
- * @version v1.1.3
16
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
1
  <?php
2
  /**
3
  * ╲ ╱
4
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
5
  * │╭──╮ ╭──╮│
6
  * ││//│ │//││
7
  * │╰──╯ ╰──╯│
12
  * @category ING
13
  * @package ING_PSP
14
  * @author Ginger B.V. (info@gingerpayments.com)
15
+ * @version v1.1.7
16
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
17
  * @license The MIT License (MIT)
18
  *
19
  **/
app/etc/modules/ING_PSP.xml CHANGED
@@ -2,7 +2,7 @@
2
  <!--
3
  /**
4
  * ╲ ╱
5
- * ╭──────────────╮ COPYRIGHT (C) 2016 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
@@ -14,8 +14,8 @@
14
  * @category ING
15
  * @package ING_PSP
16
  * @author Ginger B.V. (info@gingerpayments.com)
17
- * @version v1.1.3
18
- * @copyright COPYRIGHT (C) 2016 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
19
  * @license The MIT License (MIT)
20
  *
21
  **/
@@ -29,7 +29,7 @@
29
  <Mage_Payment />
30
  <Mage_Checkout />
31
  </depends>
32
- <version>1.1.3</version>
33
  </ING_PSP>
34
  </modules>
35
  <global>
2
  <!--
3
  /**
4
  * ╲ ╱
5
+ * ╭──────────────╮ COPYRIGHT (C) 2017 GINGER PAYMENTS B.V.
6
  * │╭──╮ ╭──╮│
7
  * ││//│ │//││
8
  * │╰──╯ ╰──╯│
14
  * @category ING
15
  * @package ING_PSP
16
  * @author Ginger B.V. (info@gingerpayments.com)
17
+ * @version v1.1.7
18
+ * @copyright COPYRIGHT (C) 2017 GINGER PAYMENTS B.V. (https://www.gingerpayments.com)
19
  * @license The MIT License (MIT)
20
  *
21
  **/
29
  <Mage_Payment />
30
  <Mage_Checkout />
31
  </depends>
32
+ <version>1.1.7</version>
33
  </ING_PSP>
34
  </modules>
35
  <global>
lib/Ing/Services/ing-php/composer.json CHANGED
@@ -1,15 +1,21 @@
1
  {
2
- "name": "gingerpayments/ginger-php",
3
- "description": "The official Ginger Payments PHP SDK",
4
  "keywords": ["payment", "pay", "merchant", "e-commerce"],
5
  "license": "MIT",
6
- "homepage": "https://github.com/gingerpayments/ginger-php",
7
  "authors": [
8
  {
9
  "name": "Ginger Payments",
10
  "email": "dev@gingerpayments.com"
11
  }
12
  ],
 
 
 
 
 
 
13
  "require": {
14
  "php": ">=5.4.0",
15
  "guzzlehttp/guzzle": "~5.2",
@@ -43,4 +49,4 @@
43
  "dev-master": "0.0.x-dev"
44
  }
45
  }
46
- }
1
  {
2
+ "name": "ingpsp/ing-php",
3
+ "description": "The official ING-PSP PHP SDK",
4
  "keywords": ["payment", "pay", "merchant", "e-commerce"],
5
  "license": "MIT",
6
+ "homepage": "https://github.com/ingpsp/ing-php",
7
  "authors": [
8
  {
9
  "name": "Ginger Payments",
10
  "email": "dev@gingerpayments.com"
11
  }
12
  ],
13
+ "repositories": [
14
+ {
15
+ "type": "vcs",
16
+ "url": "https://github.com/ingpsp/ing-php"
17
+ }
18
+ ],
19
  "require": {
20
  "php": ">=5.4.0",
21
  "guzzlehttp/guzzle": "~5.2",
49
  "dev-master": "0.0.x-dev"
50
  }
51
  }
52
+ }
lib/Ing/Services/ing-php/composer.lock CHANGED
@@ -370,16 +370,16 @@
370
  },
371
  {
372
  "name": "paragonie/random_compat",
373
- "version": "v2.0.4",
374
  "source": {
375
  "type": "git",
376
  "url": "https://github.com/paragonie/random_compat.git",
377
- "reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e"
378
  },
379
  "dist": {
380
  "type": "zip",
381
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e",
382
- "reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e",
383
  "shasum": ""
384
  },
385
  "require": {
@@ -414,7 +414,7 @@
414
  "pseudorandom",
415
  "random"
416
  ],
417
- "time": "2016-11-07 23:38:38"
418
  },
419
  {
420
  "name": "ramsey/uuid",
@@ -885,12 +885,12 @@
885
  "version": "0.9.5",
886
  "source": {
887
  "type": "git",
888
- "url": "https://github.com/padraic/mockery.git",
889
  "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2"
890
  },
891
  "dist": {
892
  "type": "zip",
893
- "url": "https://api.github.com/repos/padraic/mockery/zipball/4db079511a283e5aba1b3c2fb19037c645e70fc2",
894
  "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2",
895
  "shasum": ""
896
  },
370
  },
371
  {
372
  "name": "paragonie/random_compat",
373
+ "version": "v2.0.10",
374
  "source": {
375
  "type": "git",
376
  "url": "https://github.com/paragonie/random_compat.git",
377
+ "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d"
378
  },
379
  "dist": {
380
  "type": "zip",
381
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d",
382
+ "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d",
383
  "shasum": ""
384
  },
385
  "require": {
414
  "pseudorandom",
415
  "random"
416
  ],
417
+ "time": "2017-03-13 16:27:32"
418
  },
419
  {
420
  "name": "ramsey/uuid",
885
  "version": "0.9.5",
886
  "source": {
887
  "type": "git",
888
+ "url": "https://github.com/mockery/mockery.git",
889
  "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2"
890
  },
891
  "dist": {
892
  "type": "zip",
893
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/4db079511a283e5aba1b3c2fb19037c645e70fc2",
894
  "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2",
895
  "shasum": ""
896
  },
lib/Ing/Services/ing-php/src/Client.php CHANGED
@@ -88,17 +88,16 @@ final class Client
88
  return $result;
89
  }
90
 
91
- if (array_key_exists('status', $details)
92
- && $details['status'] == 'active-testing') {
93
- return array('ideal');
94
- }
95
-
96
  $products_to_check = array(
97
  'ideal' => 'ideal',
98
  'bank-transfer' => 'banktransfer',
99
  'bancontact' => 'bancontact',
100
  'cash-on-delivery' => 'cashondelivery',
101
  'credit-card' => 'creditcard',
 
 
 
 
102
  );
103
 
104
  foreach ($products_to_check as $permission_id => $id) {
@@ -401,6 +400,136 @@ final class Client
401
  );
402
  }
403
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
404
  /**
405
  * Create a new order.
406
  *
@@ -495,7 +624,7 @@ final class Client
495
  $response = $this->httpClient->post(
496
  'orders/',
497
  [
498
- 'timeout' => 3,
499
  'headers' => ['Content-Type' => 'application/json'],
500
  'body' => json_encode(
501
  ArrayFunctions::withoutNullValues($order->toArray())
@@ -525,7 +654,7 @@ final class Client
525
  $this->httpClient->put(
526
  "orders/".$order->id()."/",
527
  [
528
- "timeout" => 3,
529
  "json" => ArrayFunctions::withoutNullValues($order->toArray())
530
  ]
531
  )->json()
88
  return $result;
89
  }
90
 
 
 
 
 
 
91
  $products_to_check = array(
92
  'ideal' => 'ideal',
93
  'bank-transfer' => 'banktransfer',
94
  'bancontact' => 'bancontact',
95
  'cash-on-delivery' => 'cashondelivery',
96
  'credit-card' => 'creditcard',
97
+ 'paypal' => 'paypal',
98
+ 'homepay' => 'homepay',
99
+ 'klarna' => 'klarna',
100
+ 'sofort' => 'sofort'
101
  );
102
 
103
  foreach ($products_to_check as $permission_id => $id) {
400
  );
401
  }
402
 
403
+ /**
404
+ * Create a new Klarna order.
405
+ *
406
+ * @param integer $amount Amount in cents.
407
+ * @param string $currency A valid currency code.
408
+ * @param string $description A description of the order.
409
+ * @param string $merchantOrderId A merchant-defined order identifier.
410
+ * @param string $returnUrl The return URL.
411
+ * @param string $expirationPeriod The expiration period as an ISO 8601 duration
412
+ * @param array $customer Customer information.
413
+ * @param array $extra Extra information.
414
+ * @param string $webhookUrl The webhook URL.
415
+ * @param array $orderLines Order lines
416
+ *
417
+ * @return Order The newly created order.
418
+ */
419
+ public function createKlarnaOrder(
420
+ $amount,
421
+ $currency,
422
+ $description = null,
423
+ $merchantOrderId = null,
424
+ $returnUrl = null,
425
+ $expirationPeriod = null,
426
+ $customer = null,
427
+ $extra = null,
428
+ $webhookUrl = null,
429
+ $orderLines = null
430
+ ) {
431
+ return $this->postOrder(
432
+ Order::createWithKlarna(
433
+ $amount,
434
+ $currency,
435
+ $description,
436
+ $merchantOrderId,
437
+ $returnUrl,
438
+ $expirationPeriod,
439
+ $customer,
440
+ $extra,
441
+ $webhookUrl,
442
+ $orderLines
443
+ )
444
+ );
445
+ }
446
+
447
+ /**
448
+ * Create a new PayPal order.
449
+ *
450
+ * @param integer $amount Amount in cents.
451
+ * @param string $currency A valid currency code.
452
+ * @param array $paymentMethodDetails An array of extra payment method details.
453
+ * @param string $description A description of the order.
454
+ * @param string $merchantOrderId A merchant-defined order identifier.
455
+ * @param string $returnUrl The return URL.
456
+ * @param string $expirationPeriod The expiration period as an ISO 8601 duration
457
+ * @param array $customer Customer information.
458
+ * @param array $extra Extra information.
459
+ *
460
+ * @return Order The newly created order.
461
+ */
462
+ public function createPaypalOrder(
463
+ $amount,
464
+ $currency,
465
+ array $paymentMethodDetails = [],
466
+ $description = null,
467
+ $merchantOrderId = null,
468
+ $returnUrl = null,
469
+ $expirationPeriod = null,
470
+ $customer = null,
471
+ $extra = null,
472
+ $webhookUrl = null
473
+ ) {
474
+ return $this->postOrder(
475
+ Order::createWithPaypal(
476
+ $amount,
477
+ $currency,
478
+ $paymentMethodDetails,
479
+ $description,
480
+ $merchantOrderId,
481
+ $returnUrl,
482
+ $expirationPeriod,
483
+ $customer,
484
+ $extra,
485
+ $webhookUrl
486
+ )
487
+ );
488
+ }
489
+
490
+ /**
491
+ * Create a new Home'Pay order.
492
+ *
493
+ * @param integer $amount Amount in cents.
494
+ * @param string $currency A valid currency code.
495
+ * @param array $paymentMethodDetails An array of extra payment method details.
496
+ * @param string $description A description of the order.
497
+ * @param string $merchantOrderId A merchant-defined order identifier.
498
+ * @param string $returnUrl The return URL.
499
+ * @param string $expirationPeriod The expiration period as an ISO 8601 duration
500
+ * @param array $customer Customer information.
501
+ * @param array $extra Extra information.
502
+ *
503
+ * @return Order The newly created order.
504
+ */
505
+ public function createHomepayOrder(
506
+ $amount,
507
+ $currency,
508
+ array $paymentMethodDetails = [],
509
+ $description = null,
510
+ $merchantOrderId = null,
511
+ $returnUrl = null,
512
+ $expirationPeriod = null,
513
+ $customer = null,
514
+ $extra = null,
515
+ $webhookUrl = null
516
+ ) {
517
+ return $this->postOrder(
518
+ Order::createWithHomepay(
519
+ $amount,
520
+ $currency,
521
+ $paymentMethodDetails,
522
+ $description,
523
+ $merchantOrderId,
524
+ $returnUrl,
525
+ $expirationPeriod,
526
+ $customer,
527
+ $extra,
528
+ $webhookUrl
529
+ )
530
+ );
531
+ }
532
+
533
  /**
534
  * Create a new order.
535
  *
624
  $response = $this->httpClient->post(
625
  'orders/',
626
  [
627
+ 'timeout' => 30,
628
  'headers' => ['Content-Type' => 'application/json'],
629
  'body' => json_encode(
630
  ArrayFunctions::withoutNullValues($order->toArray())
654
  $this->httpClient->put(
655
  "orders/".$order->id()."/",
656
  [
657
+ "timeout" => 30,
658
  "json" => ArrayFunctions::withoutNullValues($order->toArray())
659
  ]
660
  )->json()
lib/Ing/Services/ing-php/src/Common/IntegerBasedValueObject.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Common;
4
+
5
+ trait IntegerBasedValueObject
6
+ {
7
+ /**
8
+ * @var integer
9
+ */
10
+ private $value;
11
+
12
+ /**
13
+ * Factory method. Returns a new instance from an integer.
14
+ *
15
+ * @param integer $value
16
+ * @return static
17
+ */
18
+ public static function fromInteger($value)
19
+ {
20
+ return new self((int) $value);
21
+ }
22
+
23
+ /**
24
+ * @return integer
25
+ */
26
+ public function toInteger()
27
+ {
28
+ return $this->value;
29
+ }
30
+
31
+ /**
32
+ * @param integer $value
33
+ */
34
+ private function __construct($value)
35
+ {
36
+ $this->value = $value;
37
+ }
38
+ }
lib/Ing/Services/ing-php/src/Ginger.php CHANGED
@@ -10,7 +10,7 @@ final class Ginger
10
  /**
11
  * The library version.
12
  */
13
- const CLIENT_VERSION = '1.2.4';
14
 
15
  /**
16
  * The API version.
@@ -48,7 +48,7 @@ final class Ginger
48
  {
49
  Guard::uuid(
50
  static::apiKeyToUuid($apiKey),
51
- 'Ginger API key is invalid: '.$apiKey
52
  );
53
 
54
  return new Client(
10
  /**
11
  * The library version.
12
  */
13
+ const CLIENT_VERSION = '1.2.8';
14
 
15
  /**
16
  * The API version.
48
  {
49
  Guard::uuid(
50
  static::apiKeyToUuid($apiKey),
51
+ 'ING API key is invalid: '.$apiKey
52
  );
53
 
54
  return new Client(
lib/Ing/Services/ing-php/src/Order.php CHANGED
@@ -13,6 +13,7 @@ use GingerPayments\Payment\Order\Transactions;
13
  use GingerPayments\Payment\Order\Customer;
14
  use GingerPayments\Payment\Order\Extra;
15
  use Rhumsaa\Uuid\Uuid;
 
16
 
17
  final class Order
18
  {
@@ -100,6 +101,11 @@ final class Order
100
  */
101
  private $webhookUrl;
102
 
 
 
 
 
 
103
  /**
104
  * Create a new Order with the iDEAL payment method.
105
  *
@@ -352,6 +358,133 @@ final class Order
352
  );
353
  }
354
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
355
  /**
356
  * Create a new Order.
357
  *
@@ -366,6 +499,7 @@ final class Order
366
  * @param array $customer Customer information.
367
  * @param array $extra Extra information.
368
  * @param string $webhookUrl The webhook URL.
 
369
  *
370
  * @return Order
371
  */
@@ -380,7 +514,8 @@ final class Order
380
  $expirationPeriod = null,
381
  $customer = null,
382
  $extra = null,
383
- $webhookUrl = null
 
384
  ) {
385
  return new static(
386
  Transactions::fromArray(
@@ -405,7 +540,8 @@ final class Order
405
  null,
406
  ($customer !== null) ? Customer::fromArray($customer) : null,
407
  ($extra !== null) ? Extra::fromArray($extra) : null,
408
- ($webhookUrl !== null) ? Url::fromString($webhookUrl) : null
 
409
  );
410
  }
411
 
@@ -439,7 +575,9 @@ final class Order
439
  ? Customer::fromArray($order['customer']) : null,
440
  array_key_exists('extra', $order) && $order['extra'] !== null
441
  ? Extra::fromArray($order['extra']) : null,
442
- array_key_exists('webhook_url', $order) ? Url::fromString($order['webhook_url']) : null
 
 
443
  );
444
  }
445
 
@@ -464,7 +602,8 @@ final class Order
464
  'return_url' => $this->getReturnUrl(),
465
  'customer' => $this->getCustomer(),
466
  'extra' => $this->getExtra(),
467
- 'webhook_url' => $this->getWebhookUrl()
 
468
  ];
469
  }
470
 
@@ -600,6 +739,14 @@ final class Order
600
  return ($this->extra() !== null) ? $this->extra()->toArray() : null;
601
  }
602
 
 
 
 
 
 
 
 
 
603
  /**
604
  * @return Extra|null
605
  */
@@ -748,6 +895,14 @@ final class Order
748
  return $this->webhookUrl;
749
  }
750
 
 
 
 
 
 
 
 
 
751
  /**
752
  * @return Transactions
753
  */
@@ -773,22 +928,25 @@ final class Order
773
  }
774
 
775
  /**
 
 
776
  * @param Transactions $transactions
777
  * @param Amount $amount
778
  * @param Currency $currency
779
- * @param Description $description
780
- * @param MerchantOrderId $merchantOrderId
781
- * @param Url $returnUrl
782
- * @param \DateInterval $expirationPeriod
783
- * @param Uuid $id
784
- * @param Uuid $projectId
785
- * @param Carbon $created
786
- * @param Carbon $modified
787
- * @param Carbon $completed
788
- * @param Status $status
789
- * @param Customer $customer
790
- * @param Extra $extra
791
- * @param Url $webhookUrl
 
792
  */
793
  private function __construct(
794
  Transactions $transactions,
@@ -806,7 +964,8 @@ final class Order
806
  Status $status = null,
807
  Customer $customer = null,
808
  Extra $extra = null,
809
- Url $webhookUrl = null
 
810
  ) {
811
  $this->transactions = $transactions;
812
  $this->amount = $amount;
@@ -824,5 +983,6 @@ final class Order
824
  $this->customer = $customer;
825
  $this->extra = $extra;
826
  $this->webhookUrl = $webhookUrl;
 
827
  }
828
  }
13
  use GingerPayments\Payment\Order\Customer;
14
  use GingerPayments\Payment\Order\Extra;
15
  use Rhumsaa\Uuid\Uuid;
16
+ use GingerPayments\Payment\Order\OrderLines;
17
 
18
  final class Order
19
  {
101
  */
102
  private $webhookUrl;
103
 
104
+ /**
105
+ * @var OrderLines|null
106
+ */
107
+ private $orderLines;
108
+
109
  /**
110
  * Create a new Order with the iDEAL payment method.
111
  *
358
  );
359
  }
360
 
361
+ /**
362
+ * @param integer $amount Amount in cents.
363
+ * @param string $currency A valid currency code.
364
+ * @param string $description A description of the order.
365
+ * @param string $merchantOrderId A merchant-defined order identifier.
366
+ * @param string $returnUrl The return URL.
367
+ * @param string $expirationPeriod The expiration period as an ISO 8601 duration.
368
+ * @param array $customer Customer information
369
+ * @param array $extra Extra information.
370
+ * @param string $webhookUrl The webhook URL.
371
+ *
372
+ * @return Order
373
+ */
374
+ public static function createWithKlarna(
375
+ $amount,
376
+ $currency,
377
+ $description = null,
378
+ $merchantOrderId = null,
379
+ $returnUrl = null,
380
+ $expirationPeriod = null,
381
+ $customer = null,
382
+ $extra = null,
383
+ $webhookUrl = null,
384
+ $orderLines = null
385
+ ) {
386
+ return static::create(
387
+ $amount,
388
+ $currency,
389
+ PaymentMethod::KLARNA,
390
+ [],
391
+ $description,
392
+ $merchantOrderId,
393
+ $returnUrl,
394
+ $expirationPeriod,
395
+ $customer,
396
+ $extra,
397
+ $webhookUrl,
398
+ $orderLines
399
+ );
400
+ }
401
+
402
+ /**
403
+ * Create a new Order with the Paypal payment method.
404
+ *
405
+ * @param integer $amount Amount in cents.
406
+ * @param string $currency A valid currency code.
407
+ * @param array $paymentMethodDetails An array of extra payment method details.
408
+ * @param string $description A description of the order.
409
+ * @param string $merchantOrderId A merchant-defined order identifier.
410
+ * @param string $returnUrl The return URL.
411
+ * @param string $expirationPeriod The expiration period as an ISO 8601 duration.
412
+ * @param array $customer Customer information.
413
+ * @param array $extra Extra information.
414
+ * @param string $webhookUrl The webhook URL.
415
+ *
416
+ * @return Order
417
+ */
418
+ public static function createWithPaypal(
419
+ $amount,
420
+ $currency,
421
+ array $paymentMethodDetails = [],
422
+ $description = null,
423
+ $merchantOrderId = null,
424
+ $returnUrl = null,
425
+ $expirationPeriod = null,
426
+ $customer = null,
427
+ $extra = null,
428
+ $webhookUrl = null
429
+ ) {
430
+ return static::create(
431
+ $amount,
432
+ $currency,
433
+ PaymentMethod::PAYPAL,
434
+ $paymentMethodDetails,
435
+ $description,
436
+ $merchantOrderId,
437
+ $returnUrl,
438
+ $expirationPeriod,
439
+ $customer,
440
+ $extra,
441
+ $webhookUrl
442
+ );
443
+ }
444
+
445
+ /**
446
+ * Create a new Order with the HomePay payment method.
447
+ *
448
+ * @param integer $amount Amount in cents.
449
+ * @param string $currency A valid currency code.
450
+ * @param array $paymentMethodDetails An array of extra payment method details.
451
+ * @param string $description A description of the order.
452
+ * @param string $merchantOrderId A merchant-defined order identifier.
453
+ * @param string $returnUrl The return URL.
454
+ * @param string $expirationPeriod The expiration period as an ISO 8601 duration.
455
+ * @param array $customer Customer information.
456
+ * @param array $extra Extra information.
457
+ * @param string $webhookUrl The webhook URL.
458
+ *
459
+ * @return Order
460
+ */
461
+ public static function createWithHomepay(
462
+ $amount,
463
+ $currency,
464
+ array $paymentMethodDetails = [],
465
+ $description = null,
466
+ $merchantOrderId = null,
467
+ $returnUrl = null,
468
+ $expirationPeriod = null,
469
+ $customer = null,
470
+ $extra = null,
471
+ $webhookUrl = null
472
+ ) {
473
+ return static::create(
474
+ $amount,
475
+ $currency,
476
+ PaymentMethod::HOMEPAY,
477
+ $paymentMethodDetails,
478
+ $description,
479
+ $merchantOrderId,
480
+ $returnUrl,
481
+ $expirationPeriod,
482
+ $customer,
483
+ $extra,
484
+ $webhookUrl
485
+ );
486
+ }
487
+
488
  /**
489
  * Create a new Order.
490
  *
499
  * @param array $customer Customer information.
500
  * @param array $extra Extra information.
501
  * @param string $webhookUrl The webhook URL.
502
+ * @param array $orderLines Order lines.
503
  *
504
  * @return Order
505
  */
514
  $expirationPeriod = null,
515
  $customer = null,
516
  $extra = null,
517
+ $webhookUrl = null,
518
+ $orderLines = null
519
  ) {
520
  return new static(
521
  Transactions::fromArray(
540
  null,
541
  ($customer !== null) ? Customer::fromArray($customer) : null,
542
  ($extra !== null) ? Extra::fromArray($extra) : null,
543
+ ($webhookUrl !== null) ? Url::fromString($webhookUrl) : null,
544
+ ($orderLines !== null) ? OrderLines::fromArray($orderLines) : null
545
  );
546
  }
547
 
575
  ? Customer::fromArray($order['customer']) : null,
576
  array_key_exists('extra', $order) && $order['extra'] !== null
577
  ? Extra::fromArray($order['extra']) : null,
578
+ array_key_exists('webhook_url', $order) ? Url::fromString($order['webhook_url']) : null,
579
+ array_key_exists('order_lines', $order) && $order['order_lines'] !== null
580
+ ? OrderLines::fromArray($order['order_lines']) : null
581
  );
582
  }
583
 
602
  'return_url' => $this->getReturnUrl(),
603
  'customer' => $this->getCustomer(),
604
  'extra' => $this->getExtra(),
605
+ 'webhook_url' => $this->getWebhookUrl(),
606
+ 'order_lines' => $this->getOrderLines()
607
  ];
608
  }
609
 
739
  return ($this->extra() !== null) ? $this->extra()->toArray() : null;
740
  }
741
 
742
+ /**
743
+ * @return array|null
744
+ */
745
+ public function getOrderLines()
746
+ {
747
+ return ($this->orderLines() !== null) ? $this->orderLines()->toArray() : null;
748
+ }
749
+
750
  /**
751
  * @return Extra|null
752
  */
895
  return $this->webhookUrl;
896
  }
897
 
898
+ /**
899
+ * @return OrderLines|null
900
+ */
901
+ public function orderLines()
902
+ {
903
+ return $this->orderLines;
904
+ }
905
+
906
  /**
907
  * @return Transactions
908
  */
928
  }
929
 
930
  /**
931
+ * Order constructor.
932
+ *
933
  * @param Transactions $transactions
934
  * @param Amount $amount
935
  * @param Currency $currency
936
+ * @param Description|null $description
937
+ * @param MerchantOrderId|null $merchantOrderId
938
+ * @param Url|null $returnUrl
939
+ * @param \DateInterval|null $expirationPeriod
940
+ * @param Uuid|null $id
941
+ * @param Uuid|null $projectId
942
+ * @param Carbon|null $created
943
+ * @param Carbon|null $modified
944
+ * @param Carbon|null $completed
945
+ * @param Status|null $status
946
+ * @param Customer|null $customer
947
+ * @param Extra|null $extra
948
+ * @param Url|null $webhookUrl
949
+ * @param OrderLines|null $orderLines
950
  */
951
  private function __construct(
952
  Transactions $transactions,
964
  Status $status = null,
965
  Customer $customer = null,
966
  Extra $extra = null,
967
+ Url $webhookUrl = null,
968
+ OrderLines $orderLines = null
969
  ) {
970
  $this->transactions = $transactions;
971
  $this->amount = $amount;
983
  $this->customer = $customer;
984
  $this->extra = $extra;
985
  $this->webhookUrl = $webhookUrl;
986
+ $this->orderLines = $orderLines;
987
  }
988
  }
lib/Ing/Services/ing-php/src/Order/Customer.php CHANGED
@@ -13,6 +13,9 @@ use GingerPayments\Payment\Order\Customer\Housenumber;
13
  use GingerPayments\Payment\Order\Customer\Country;
14
  use GingerPayments\Payment\Order\Customer\PhoneNumbers;
15
  use GingerPayments\Payment\Order\Customer\Locale;
 
 
 
16
 
17
  final class Customer
18
  {
@@ -71,6 +74,21 @@ final class Customer
71
  */
72
  private $locale;
73
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  /**
75
  * @param array $details
76
  * @return Customer
@@ -89,7 +107,10 @@ final class Customer
89
  array_key_exists('housenumber', $details) ? Housenumber::fromString($details['housenumber']) : null,
90
  array_key_exists('country', $details) ? Country::fromString($details['country']) : null,
91
  array_key_exists('phone_numbers', $details) ? PhoneNumbers::fromArray($details['phone_numbers']) : null,
92
- array_key_exists('locale', $details) ? Locale::fromString($details['locale']) : null
 
 
 
93
  );
94
  }
95
 
@@ -110,7 +131,10 @@ final class Customer
110
  'housenumber' => ($this->housenumber() !== null) ? $this->housenumber()->toString() : null,
111
  'country' => ($this->country() !== null) ? $this->country()->toString() : null,
112
  'phone_numbers' => ($this->phoneNumbers() !== null) ? $this->phoneNumbers()->toArray() : [],
113
- 'locale' => ($this->locale() !== null) ? $this->locale()->toString() : null
 
 
 
114
  ];
115
  }
116
 
@@ -202,6 +226,30 @@ final class Customer
202
  return $this->locale;
203
  }
204
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
  /**
206
  * @param MerchantCustomerId $merchantCustomerId
207
  * @param EmailAddress $emailAddress
@@ -214,6 +262,9 @@ final class Customer
214
  * @param Country $country
215
  * @param PhoneNumbers $phoneNumbers
216
  * @param Locale $locale
 
 
 
217
  */
218
  private function __construct(
219
  MerchantCustomerId $merchantCustomerId = null,
@@ -226,7 +277,10 @@ final class Customer
226
  Housenumber $housenumber = null,
227
  Country $country = null,
228
  PhoneNumbers $phoneNumbers = null,
229
- Locale $locale = null
 
 
 
230
  ) {
231
  $this->merchantCustomerId = $merchantCustomerId;
232
  $this->emailAddress = $emailAddress;
@@ -239,5 +293,8 @@ final class Customer
239
  $this->country = $country;
240
  $this->phoneNumbers = $phoneNumbers;
241
  $this->locale = $locale;
 
 
 
242
  }
243
  }
13
  use GingerPayments\Payment\Order\Customer\Country;
14
  use GingerPayments\Payment\Order\Customer\PhoneNumbers;
15
  use GingerPayments\Payment\Order\Customer\Locale;
16
+ use GingerPayments\Payment\Order\Customer\Birthdate;
17
+ use GingerPayments\Payment\Order\Customer\Gender;
18
+ use GingerPayments\Payment\Order\Customer\IP;
19
 
20
  final class Customer
21
  {
74
  */
75
  private $locale;
76
 
77
+ /**
78
+ * @var Gender|null
79
+ */
80
+ private $gender;
81
+
82
+ /**
83
+ * @var Birthdate|null
84
+ */
85
+ private $birthdate;
86
+
87
+ /**
88
+ * @var IP|null
89
+ */
90
+ private $ip;
91
+
92
  /**
93
  * @param array $details
94
  * @return Customer
107
  array_key_exists('housenumber', $details) ? Housenumber::fromString($details['housenumber']) : null,
108
  array_key_exists('country', $details) ? Country::fromString($details['country']) : null,
109
  array_key_exists('phone_numbers', $details) ? PhoneNumbers::fromArray($details['phone_numbers']) : null,
110
+ array_key_exists('locale', $details) ? Locale::fromString($details['locale']) : null,
111
+ array_key_exists('gender', $details) ? Gender::fromString($details['gender']) : null,
112
+ array_key_exists('birthdate', $details) ? Birthdate::fromString($details['birthdate']) : null,
113
+ array_key_exists('ip_address', $details) ? Ip::fromString($details['ip_address']) : null
114
  );
115
  }
116
 
131
  'housenumber' => ($this->housenumber() !== null) ? $this->housenumber()->toString() : null,
132
  'country' => ($this->country() !== null) ? $this->country()->toString() : null,
133
  'phone_numbers' => ($this->phoneNumbers() !== null) ? $this->phoneNumbers()->toArray() : [],
134
+ 'locale' => ($this->locale() !== null) ? $this->locale()->toString() : null,
135
+ 'gender' => ($this->gender() !== null) ? $this->gender()->toString() : null,
136
+ 'birthdate' => ($this->birthdate() !== null) ? $this->birthdate()->toString() : null,
137
+ 'ip_address' => ($this->ip() !== null) ? $this->ip()->toString() : null
138
  ];
139
  }
140
 
226
  return $this->locale;
227
  }
228
 
229
+ /**
230
+ * @return Gender|null
231
+ */
232
+ public function gender()
233
+ {
234
+ return $this->gender;
235
+ }
236
+
237
+ /**
238
+ * @return Birthdate|null
239
+ */
240
+ public function birthdate()
241
+ {
242
+ return $this->birthdate;
243
+ }
244
+
245
+ /**
246
+ * @return IP|null
247
+ */
248
+ public function ip()
249
+ {
250
+ return $this->ip;
251
+ }
252
+
253
  /**
254
  * @param MerchantCustomerId $merchantCustomerId
255
  * @param EmailAddress $emailAddress
262
  * @param Country $country
263
  * @param PhoneNumbers $phoneNumbers
264
  * @param Locale $locale
265
+ * @param Gender $gender
266
+ * @param Birthdate $birthdate
267
+ * @param IP $ip
268
  */
269
  private function __construct(
270
  MerchantCustomerId $merchantCustomerId = null,
277
  Housenumber $housenumber = null,
278
  Country $country = null,
279
  PhoneNumbers $phoneNumbers = null,
280
+ Locale $locale = null,
281
+ Gender $gender = null,
282
+ Birthdate $birthdate = null,
283
+ IP $ip = null
284
  ) {
285
  $this->merchantCustomerId = $merchantCustomerId;
286
  $this->emailAddress = $emailAddress;
293
  $this->country = $country;
294
  $this->phoneNumbers = $phoneNumbers;
295
  $this->locale = $locale;
296
+ $this->gender = $gender;
297
+ $this->birthdate = $birthdate;
298
+ $this->ip = $ip;
299
  }
300
  }
lib/Ing/Services/ing-php/src/Order/Customer/Birthdate.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\Customer;
4
+
5
+ use Assert\Assertion as Guard;
6
+ use GingerPayments\Payment\Common\StringBasedValueObject;
7
+
8
+ final class Birthdate
9
+ {
10
+ use StringBasedValueObject;
11
+
12
+ /**
13
+ * @param string $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::date($value, 'Y-m-d');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/Customer/Gender.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\Customer;
4
+
5
+ use GingerPayments\Payment\Common\ChoiceBasedValueObject;
6
+
7
+ final class Gender
8
+ {
9
+ use ChoiceBasedValueObject;
10
+
11
+ const MALE = 'male';
12
+ const FEMALE = 'female';
13
+
14
+ /**
15
+ * @return array
16
+ */
17
+ public function possibleValues()
18
+ {
19
+ return [
20
+ self::MALE,
21
+ self::FEMALE
22
+ ];
23
+ }
24
+
25
+ /**
26
+ * @return bool
27
+ */
28
+ public function isMale()
29
+ {
30
+ return $this->value === self::MALE;
31
+ }
32
+
33
+ /**
34
+ * @return bool
35
+ */
36
+ public function isFemale()
37
+ {
38
+ return $this->value === self::FEMALE;
39
+ }
40
+ }
lib/Ing/Services/ing-php/src/Order/Customer/IP.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\Customer;
4
+
5
+ use GingerPayments\Payment\Common\StringBasedValueObject;
6
+ use Assert\Assertion as Guard;
7
+
8
+ final class IP
9
+ {
10
+ use StringBasedValueObject;
11
+
12
+ /**
13
+ * @param string $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::ip($value, "Customer IP must me a valid IP address.");
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine.php ADDED
@@ -0,0 +1,370 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order;
4
+
5
+ use Rhumsaa\Uuid\Uuid;
6
+ use Assert\Assertion as Guard;
7
+
8
+ use GingerPayments\Payment\Order\OrderLine\Ean;
9
+ use GingerPayments\Payment\Order\OrderLine\Url;
10
+ use GingerPayments\Payment\Order\OrderLine\Type;
11
+ use GingerPayments\Payment\Order\OrderLine\Name;
12
+ use GingerPayments\Payment\Order\OrderLine\Amount as OrderLineAmount;
13
+ use GingerPayments\Payment\Order\OrderLine\Currency;
14
+ use GingerPayments\Payment\Order\OrderLine\Quantity;
15
+ use GingerPayments\Payment\Order\OrderLine\ImageUrl;
16
+ use GingerPayments\Payment\Order\OrderLine\DiscountRate;
17
+ use GingerPayments\Payment\Order\OrderLine\VatPercentage;
18
+ use GingerPayments\Payment\Order\OrderLine\MerchantOrderLineId;
19
+
20
+ final class OrderLine
21
+ {
22
+ /**
23
+ * @var Uuid|null
24
+ */
25
+ private $id;
26
+
27
+ /**
28
+ * @var Ean|null
29
+ */
30
+ private $ean;
31
+
32
+ /**
33
+ * @var Url|null
34
+ */
35
+ private $url;
36
+
37
+ /**
38
+ * @var Name|null
39
+ */
40
+ private $name;
41
+
42
+ /**
43
+ * @var Type|null
44
+ */
45
+ private $type;
46
+
47
+ /**
48
+ * @var OrderLineAmount|null
49
+ */
50
+ private $amount;
51
+
52
+ /**
53
+ * @var Currency|null
54
+ */
55
+ private $currency;
56
+
57
+ /**
58
+ * @var Quantity|null
59
+ */
60
+ private $quantity;
61
+
62
+ /**
63
+ * @var ImageUrl|null
64
+ */
65
+ private $imageUrl;
66
+
67
+ /**
68
+ * @var DiscountRate|null
69
+ */
70
+ private $discountRate;
71
+
72
+ /**
73
+ * @var VatPercentage|null
74
+ */
75
+ private $vatPercentage;
76
+
77
+ /**
78
+ * @var MerchantOrderLineId|nulL
79
+ */
80
+ private $merchantOrderLineId;
81
+
82
+ /**
83
+ * @param array $orderLine
84
+ * @return OrderLine
85
+ */
86
+ public static function fromArray(array $orderLine)
87
+ {
88
+ Guard::keyExists($orderLine, 'name');
89
+ Guard::keyExists($orderLine, 'amount');
90
+ Guard::keyExists($orderLine, 'quantity');
91
+ Guard::keyExists($orderLine, 'currency');
92
+ Guard::keyExists($orderLine, 'vat_percentage');
93
+ Guard::keyExists($orderLine, 'merchant_order_line_id');
94
+
95
+ return new static(
96
+ array_key_exists('id', $orderLine) ? Uuid::fromString($orderLine['id']) : null,
97
+ array_key_exists('ean', $orderLine) ? Ean::fromString($orderLine['ean']) : null,
98
+ array_key_exists('url', $orderLine) ? Url::fromString($orderLine['url']) : null,
99
+ array_key_exists('name', $orderLine) ? Name::fromString($orderLine['name']) : null,
100
+ array_key_exists('type', $orderLine) ? Type::fromString($orderLine['type']) : null,
101
+ array_key_exists('amount', $orderLine) ? OrderLineAmount::fromInteger($orderLine['amount']) : null,
102
+ array_key_exists('currency', $orderLine) ? Currency::fromString($orderLine['currency']) : null,
103
+ array_key_exists('quantity', $orderLine) ? Quantity::fromInteger($orderLine['quantity']) : null,
104
+ array_key_exists('image_url', $orderLine) ? ImageUrl::fromString($orderLine['image_url']) : null,
105
+ array_key_exists('discount_rate',
106
+ $orderLine) ? DiscountRate::fromInteger($orderLine['discount_rate']) : null,
107
+ array_key_exists('vat_percentage',
108
+ $orderLine) ? VatPercentage::fromInteger($orderLine['vat_percentage']) : null,
109
+ array_key_exists('merchant_order_line_id',
110
+ $orderLine) ? MerchantOrderLineId::fromString($orderLine['merchant_order_line_id']) : null
111
+ );
112
+ }
113
+
114
+ /**
115
+ * @return array
116
+ */
117
+ public function toArray()
118
+ {
119
+ return [
120
+ 'id' => $this->getId(),
121
+ 'ean' => $this->getEan(),
122
+ 'url' => $this->getUrl(),
123
+ 'name' => $this->getName(),
124
+ 'type' => $this->getType(),
125
+ 'amount' => $this->getAmount(),
126
+ 'currency' => $this->getCurrency(),
127
+ 'quantity' => $this->getQuantity(),
128
+ 'image_url' => $this->getImageUrl(),
129
+ 'discount_rate' => $this->getDiscountRate(),
130
+ 'vat_percentage' => $this->getVatPercentage(),
131
+ 'merchant_order_line_id' => $this->getMerchantOrderLineId(),
132
+ ];
133
+ }
134
+
135
+ /**
136
+ * @return Uuid|null
137
+ */
138
+ public function id()
139
+ {
140
+ return $this->id;
141
+ }
142
+
143
+ /**
144
+ * @return null|string
145
+ */
146
+ public function getId()
147
+ {
148
+ return ($this->id() !== null) ? $this->id()->toString() : null;
149
+ }
150
+
151
+ /**
152
+ * @return Ean|null
153
+ */
154
+ public function ean()
155
+ {
156
+ return $this->ean;
157
+ }
158
+
159
+ /**
160
+ * @return null|string
161
+ */
162
+ public function getEan()
163
+ {
164
+ return ($this->ean() !== null) ? $this->ean()->toString() : null;
165
+ }
166
+
167
+ /**
168
+ * @return Url|null
169
+ */
170
+ public function url()
171
+ {
172
+ return $this->url;
173
+ }
174
+
175
+ /**
176
+ * @return null|string
177
+ */
178
+ public function getUrl()
179
+ {
180
+ return ($this->url() !== null) ? $this->url()->toString() : null;
181
+ }
182
+
183
+ /**
184
+ * @return Name|null
185
+ */
186
+ public function name()
187
+ {
188
+ return $this->name;
189
+ }
190
+
191
+ /**
192
+ * @return null|string
193
+ */
194
+ public function getName()
195
+ {
196
+ return ($this->name() !== null) ? $this->name()->toString() : null;
197
+ }
198
+
199
+ /**
200
+ * @return Type|null
201
+ */
202
+ public function type()
203
+ {
204
+ return $this->type;
205
+ }
206
+
207
+ /**
208
+ * @return null|string
209
+ */
210
+ public function getType()
211
+ {
212
+ return ($this->type() !== null) ? $this->type()->toString() : null;
213
+ }
214
+
215
+ /**
216
+ * @return OrderLineAmount|null
217
+ */
218
+ public function amount()
219
+ {
220
+ return $this->amount;
221
+ }
222
+
223
+ /**
224
+ * @return int|null
225
+ */
226
+ public function getAmount()
227
+ {
228
+ return ($this->amount() !== null) ? $this->amount()->toInteger() : null;
229
+ }
230
+
231
+ /**
232
+ * @return Currency|null
233
+ */
234
+ public function currency()
235
+ {
236
+ return $this->currency;
237
+ }
238
+
239
+ /**
240
+ * @return null|string
241
+ */
242
+ public function getCurrency()
243
+ {
244
+ return ($this->currency() !== null) ? $this->currency()->toString() : null;
245
+ }
246
+
247
+ /**
248
+ * @return Quantity|null
249
+ */
250
+ public function quantity()
251
+ {
252
+ return $this->quantity;
253
+ }
254
+
255
+ /**
256
+ * @return int|null
257
+ */
258
+ public function getQuantity()
259
+ {
260
+ return ($this->quantity() !== null) ? $this->quantity()->toInteger() : null;
261
+ }
262
+
263
+ /**
264
+ * @return ImageUrl|null
265
+ */
266
+ public function imageUrl()
267
+ {
268
+ return $this->imageUrl;
269
+ }
270
+
271
+ /**
272
+ * @return null|string
273
+ */
274
+ public function getImageUrl()
275
+ {
276
+ return ($this->imageUrl() !== null) ? $this->imageUrl()->toString() : null;
277
+ }
278
+
279
+ /**
280
+ * @return DiscountRate|null
281
+ */
282
+ public function discountRate()
283
+ {
284
+ return $this->discountRate;
285
+ }
286
+
287
+ /**
288
+ * @return int|null
289
+ */
290
+ public function getDiscountRate()
291
+ {
292
+ return ($this->discountRate() !== null) ? $this->discountRate()->toInteger() : null;
293
+ }
294
+
295
+ /**
296
+ * @return VatPercentage|null
297
+ */
298
+ public function vatPercentage()
299
+ {
300
+ return $this->vatPercentage;
301
+ }
302
+
303
+ /**
304
+ * @return int|null
305
+ */
306
+ public function getVatPercentage()
307
+ {
308
+ return ($this->vatPercentage() !== null) ? $this->vatPercentage()->toInteger() : null;
309
+ }
310
+
311
+ /**
312
+ * @return MerchantOrderLineId|nulL
313
+ */
314
+ public function merchantOrderLineId()
315
+ {
316
+ return $this->merchantOrderLineId;
317
+ }
318
+
319
+ /**
320
+ * @return null|string
321
+ */
322
+ public function getMerchantOrderLineId()
323
+ {
324
+ return ($this->merchantOrderLineId() !== null) ? $this->merchantOrderLineId()->toString() : null;
325
+ }
326
+
327
+ /**
328
+ * OrderLine constructor.
329
+ *
330
+ * @param Uuid|null $id
331
+ * @param Ean|null $ean
332
+ * @param Url|null $url
333
+ * @param Name|null $name
334
+ * @param Type|null $type
335
+ * @param OrderLineAmount|null $amount
336
+ * @param Currency|null $currency
337
+ * @param Quantity|null $quantity
338
+ * @param ImageUrl|null $imageUrl
339
+ * @param DiscountRate|null $discountRate
340
+ * @param VatPercentage|null $vatPercentage
341
+ * @param MerchantOrderLineId|null $merchantOrderLineId
342
+ */
343
+ private function __construct(
344
+ Uuid $id = null,
345
+ Ean $ean = null,
346
+ Url $url = null,
347
+ Name $name = null,
348
+ Type $type = null,
349
+ OrderLineAmount $amount = null,
350
+ Currency $currency = null,
351
+ Quantity $quantity = null,
352
+ ImageUrl $imageUrl = null,
353
+ DiscountRate $discountRate = null,
354
+ VatPercentage $vatPercentage = null,
355
+ MerchantOrderLineId $merchantOrderLineId = null
356
+ ) {
357
+ $this->id = $id;
358
+ $this->ean = $ean;
359
+ $this->url = $url;
360
+ $this->name = $name;
361
+ $this->type = $type;
362
+ $this->amount = $amount;
363
+ $this->currency = $currency;
364
+ $this->quantity = $quantity;
365
+ $this->imageUrl = $imageUrl;
366
+ $this->discountRate = $discountRate;
367
+ $this->vatPercentage = $vatPercentage;
368
+ $this->merchantOrderLineId = $merchantOrderLineId;
369
+ }
370
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/Amount.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use Assert\Assertion as Guard;
6
+ use GingerPayments\Payment\Common\IntegerBasedValueObject;
7
+
8
+ final class Amount
9
+ {
10
+ use IntegerBasedValueObject;
11
+
12
+ /**
13
+ * @param integer $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::min($value, 1, 'Order line amount must be at least one');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/Currency.php ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use GingerPayments\Payment\Common\ChoiceBasedValueObject;
6
+
7
+ final class Currency
8
+ {
9
+ use ChoiceBasedValueObject;
10
+
11
+ const EUR = 'EUR';
12
+
13
+ /**
14
+ * @return array
15
+ */
16
+ public function possibleValues()
17
+ {
18
+ return [self::EUR];
19
+ }
20
+
21
+ /**
22
+ * @return bool
23
+ */
24
+ public function isEUR()
25
+ {
26
+ return $this->value === self::EUR;
27
+ }
28
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/DiscountRate.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use GingerPayments\Payment\Common\IntegerBasedValueObject;
6
+ use Assert\Assertion as Guard;
7
+
8
+ final class DiscountRate
9
+ {
10
+ use IntegerBasedValueObject;
11
+
12
+ /**
13
+ * @param integer $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::min($value, 0, 'Discount rate can not be less than zero.');
18
+ Guard::max($value, 10000, 'Discount rate can not be greater than 10000.');
19
+
20
+ $this->value = $value;
21
+ }
22
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/Ean.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use Assert\Assertion as Guard;
6
+ use GingerPayments\Payment\Common\StringBasedValueObject;
7
+
8
+ final class Ean
9
+ {
10
+ use StringBasedValueObject;
11
+
12
+ /**
13
+ * @param string $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::notBlank($value, 'International Article Number should not be blank.');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/ImageUrl.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use Assert\Assertion as Guard;
6
+ use GingerPayments\Payment\Common\StringBasedValueObject;
7
+
8
+ final class ImageUrl
9
+ {
10
+ use StringBasedValueObject;
11
+
12
+ /**
13
+ * @param string $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::url($value, 'Item image URL must be a valid URL.');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/MerchantOrderLineId.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use Assert\Assertion as Guard;
6
+ use GingerPayments\Payment\Common\StringBasedValueObject;
7
+
8
+ final class MerchantOrderLineId
9
+ {
10
+ use StringBasedValueObject;
11
+
12
+ /**
13
+ * @param string $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::notBlank($value, 'Merchant Order Line ID should not be blank.');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/Name.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use Assert\Assertion as Guard;
6
+ use GingerPayments\Payment\Common\StringBasedValueObject;
7
+
8
+ final class Name
9
+ {
10
+ use StringBasedValueObject;
11
+
12
+ /**
13
+ * @param string $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::notBlank($value, 'Order line name should not be blank.');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/Quantity.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use GingerPayments\Payment\Common\IntegerBasedValueObject;
6
+ use Assert\Assertion as Guard;
7
+
8
+ final class Quantity
9
+ {
10
+ use IntegerBasedValueObject;
11
+
12
+ /**
13
+ * @param integer $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::min($value, 1, 'Order line quantity must be at least one.');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/Type.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use GingerPayments\Payment\Common\ChoiceBasedValueObject;
6
+
7
+ final class Type
8
+ {
9
+ use ChoiceBasedValueObject;
10
+
11
+ const PHYSICAL = 'physical';
12
+ const DISCOUNT = 'discount';
13
+ const SHIPPING_FEE = 'shipping_fee';
14
+
15
+ /**
16
+ * @return array
17
+ */
18
+ public function possibleValues()
19
+ {
20
+ return [
21
+ self::PHYSICAL,
22
+ self::DISCOUNT,
23
+ self::SHIPPING_FEE
24
+ ];
25
+ }
26
+
27
+ /**
28
+ * @return bool
29
+ */
30
+ public function isPhysical()
31
+ {
32
+ return $this->value === self::PHYSICAL;
33
+ }
34
+
35
+ /**
36
+ * @return bool
37
+ */
38
+ public function isDiscount()
39
+ {
40
+ return $this->value === self::DISCOUNT;
41
+ }
42
+
43
+ /**
44
+ * @return bool
45
+ */
46
+ public function isShippingFee()
47
+ {
48
+ return $this->value === self::SHIPPING_FEE;
49
+ }
50
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/Url.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use Assert\Assertion as Guard;
6
+ use GingerPayments\Payment\Common\StringBasedValueObject;
7
+
8
+ final class Url
9
+ {
10
+ use StringBasedValueObject;
11
+
12
+ /**
13
+ * @param string $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::url($value, 'Item product page URI must be a valid URL.');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/OrderLine/VatPercentage.php ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\OrderLine;
4
+
5
+ use GingerPayments\Payment\Common\IntegerBasedValueObject;
6
+ use Assert\Assertion as Guard;
7
+
8
+ final class VatPercentage
9
+ {
10
+ use IntegerBasedValueObject;
11
+
12
+ /**
13
+ * @param integer $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::min($value, 0, 'VAT percentage can not be less than zero.');
18
+ Guard::max($value, 10000, 'VAT percentage can not be greater than 10000.');
19
+
20
+ $this->value = $value;
21
+ }
22
+ }
lib/Ing/Services/ing-php/src/Order/OrderLines.php ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order;
4
+
5
+ use Assert\Assertion as Guard;
6
+
7
+ final class OrderLines implements \Iterator
8
+ {
9
+ /**
10
+ * @var OrderLine[]
11
+ */
12
+ private $orderLines;
13
+
14
+ /**
15
+ * @return OrderLines
16
+ */
17
+ public static function create()
18
+ {
19
+ return new static([]);
20
+ }
21
+
22
+ /**
23
+ * @param array $orderLines
24
+ * @return OrderLines
25
+ */
26
+ public static function fromArray(array $orderLines)
27
+ {
28
+ return new static(
29
+ array_map(
30
+ function ($orderLine) {
31
+ return OrderLine::fromArray($orderLine);
32
+ },
33
+ $orderLines
34
+ )
35
+ );
36
+ }
37
+
38
+ /**
39
+ * @return array
40
+ */
41
+ public function toArray()
42
+ {
43
+ return array_map(
44
+ function (OrderLine $orderLine) {
45
+ return $orderLine->toArray();
46
+ },
47
+ $this->orderLines
48
+ );
49
+ }
50
+
51
+ /**
52
+ * @return OrderLine|mixed
53
+ */
54
+ public function current()
55
+ {
56
+ return current($this->orderLines);
57
+ }
58
+
59
+ /**
60
+ * @return OrderLine|mixed
61
+ */
62
+ public function next()
63
+ {
64
+ return next($this->orderLines);
65
+ }
66
+
67
+ /**
68
+ * @return mixed
69
+ */
70
+ public function key()
71
+ {
72
+ return key($this->orderLines);
73
+ }
74
+
75
+ /**
76
+ * @return boolean
77
+ */
78
+ public function valid()
79
+ {
80
+ $key = key($this->orderLines);
81
+ return ($key !== null && $key !== false);
82
+ }
83
+
84
+ /**
85
+ * Rewind the Iterator to the first element
86
+ */
87
+ public function rewind()
88
+ {
89
+ reset($this->orderLines);
90
+ }
91
+
92
+ /**
93
+ * @param OrderLine[] $orderLines
94
+ */
95
+ private function __construct(array $orderLines = [])
96
+ {
97
+ Guard::allIsInstanceOf($orderLines, 'GingerPayments\Payment\Order\OrderLine');
98
+
99
+ $this->orderLines = $orderLines;
100
+ }
101
+ }
lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethod.php CHANGED
@@ -17,6 +17,9 @@ final class PaymentMethod
17
  const SOFORT = 'sofort';
18
  const BANCONTACT = 'bancontact';
19
  const COD = 'cash-on-delivery';
 
 
 
20
 
21
  /**
22
  * @return array
@@ -29,7 +32,10 @@ final class PaymentMethod
29
  self::BANK_TRANSFER,
30
  self::SOFORT,
31
  self::BANCONTACT,
32
- self::COD
 
 
 
33
  ];
34
  }
35
 
@@ -80,4 +86,28 @@ final class PaymentMethod
80
  {
81
  return $this->value === self::COD;
82
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  }
17
  const SOFORT = 'sofort';
18
  const BANCONTACT = 'bancontact';
19
  const COD = 'cash-on-delivery';
20
+ const KLARNA = 'klarna';
21
+ const PAYPAL = 'paypal';
22
+ const HOMEPAY = 'homepay';
23
 
24
  /**
25
  * @return array
32
  self::BANK_TRANSFER,
33
  self::SOFORT,
34
  self::BANCONTACT,
35
+ self::COD,
36
+ self::KLARNA,
37
+ self::PAYPAL,
38
+ self::HOMEPAY
39
  ];
40
  }
41
 
86
  {
87
  return $this->value === self::COD;
88
  }
89
+
90
+ /**
91
+ * @return bool
92
+ */
93
+ public function isKlarna()
94
+ {
95
+ return $this->value === self::KLARNA;
96
+ }
97
+
98
+ /**
99
+ * @return bool
100
+ */
101
+ public function isPayPal()
102
+ {
103
+ return $this->value === self::PAYPAL;
104
+ }
105
+
106
+ /**
107
+ * @return bool
108
+ */
109
+ public function isHomePay()
110
+ {
111
+ return $this->value === self::HOMEPAY;
112
+ }
113
  }
lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/HomePayPaymentMethodDetails.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\Transaction\PaymentMethodDetails;
4
+
5
+ use GingerPayments\Payment\Order\Transaction\PaymentMethodDetails;
6
+
7
+ final class HomePayPaymentMethodDetails implements PaymentMethodDetails
8
+ {
9
+ /**
10
+ * @param array $details
11
+ * @return static
12
+ */
13
+ public static function fromArray(array $details)
14
+ {
15
+ return new static();
16
+ }
17
+
18
+ /**
19
+ * @return array
20
+ */
21
+ public function toArray()
22
+ {
23
+ return [];
24
+ }
25
+
26
+ /**
27
+ * HomePayPaymentMethodDetails constructor.
28
+ */
29
+ private function __construct() {}
30
+ }
lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/KlarnaPaymentMethodDetails.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\Transaction\PaymentMethodDetails;
4
+
5
+ use GingerPayments\Payment\Order\Transaction\PaymentMethodDetails;
6
+ use GingerPayments\Payment\Order\Transaction\PaymentMethodDetails\KlarnaPaymentMethodDetails\ErrorCode;
7
+
8
+ final class KlarnaPaymentMethodDetails implements PaymentMethodDetails
9
+ {
10
+ /**
11
+ * @var ErrorCode
12
+ */
13
+ private $errorCode;
14
+
15
+ /**
16
+ * @param array $details
17
+ * @return static
18
+ */
19
+ public static function fromArray(array $details)
20
+ {
21
+ return new static(
22
+ array_key_exists('error_code', $details) ? ErrorCode::fromString($details['error_code']) : null
23
+ );
24
+ }
25
+
26
+ /**
27
+ * @return array
28
+ */
29
+ public function toArray()
30
+ {
31
+ return [
32
+ 'error_code' => ($this->errorCode() !== null) ? $this->errorCode()->toString() : null
33
+ ];
34
+ }
35
+
36
+ /**
37
+ * @return ErrorCode
38
+ */
39
+ public function errorCode()
40
+ {
41
+ return $this->errorCode;
42
+ }
43
+
44
+ /**
45
+ * KlarnaPaymentMethodDetails constructor.
46
+ * @param ErrorCode|null $errorCode
47
+ */
48
+ private function __construct(
49
+ ErrorCode $errorCode = null
50
+ ) {
51
+ $this->errorCode = $errorCode;
52
+ }
53
+ }
lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/KlarnaPaymentMethodDetails/ErrorCode.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\Transaction\PaymentMethodDetails\KlarnaPaymentMethodDetails;
4
+
5
+ use Assert\Assertion as Guard;
6
+ use GingerPayments\Payment\Common\StringBasedValueObject;
7
+
8
+ final class ErrorCode
9
+ {
10
+ use StringBasedValueObject;
11
+
12
+ /**
13
+ * @param string $value
14
+ */
15
+ private function __construct($value)
16
+ {
17
+ Guard::notBlank($value, 'Klarna error_code can not be blank.');
18
+
19
+ $this->value = $value;
20
+ }
21
+ }
lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/PayPalPaymentMethodDetails.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\Transaction\PaymentMethodDetails;
4
+
5
+ use GingerPayments\Payment\Order\Transaction\PaymentMethodDetails;
6
+
7
+ final class PayPalPaymentMethodDetails implements PaymentMethodDetails
8
+ {
9
+ /**
10
+ * @param array $details
11
+ * @return static
12
+ */
13
+ public static function fromArray(array $details)
14
+ {
15
+ return new static();
16
+ }
17
+
18
+ /**
19
+ * @return array
20
+ */
21
+ public function toArray()
22
+ {
23
+ return [];
24
+ }
25
+
26
+ /**
27
+ * PayPalPaymentMethodDetails constructor.
28
+ */
29
+ private function __construct() {}
30
+ }
lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/PaymentMethodDetailsFactory.php CHANGED
@@ -32,6 +32,18 @@ final class PaymentMethodDetailsFactory
32
  return CashOnDeliveryPaymentMethodDetails::fromArray($paymentMethodDetails);
33
  }
34
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  throw new \InvalidArgumentException('Provided payment method not supported.');
36
  }
37
  }
32
  return CashOnDeliveryPaymentMethodDetails::fromArray($paymentMethodDetails);
33
  }
34
 
35
+ if ($paymentMethod->isKlarna()) {
36
+ return KlarnaPaymentMethodDetails::fromArray($paymentMethodDetails);
37
+ }
38
+
39
+ if ($paymentMethod->isPayPal()) {
40
+ return PayPalPaymentMethodDetails::fromArray($paymentMethodDetails);
41
+ }
42
+
43
+ if ($paymentMethod->isHomePay()) {
44
+ return HomePayPaymentMethodDetails::fromArray($paymentMethodDetails);
45
+ }
46
+
47
  throw new \InvalidArgumentException('Provided payment method not supported.');
48
  }
49
  }
lib/Ing/Services/ing-php/src/Order/Transaction/PaymentMethodDetails/PaypalPaymentMethodDetails.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Order\Transaction\PaymentMethodDetails;
4
+
5
+ use GingerPayments\Payment\Order\Transaction\PaymentMethodDetails;
6
+
7
+ final class PayPalPaymentMethodDetails implements PaymentMethodDetails
8
+ {
9
+ /**
10
+ * @param array $details
11
+ * @return static
12
+ */
13
+ public static function fromArray(array $details)
14
+ {
15
+ return new static();
16
+ }
17
+
18
+ /**
19
+ * @return array
20
+ */
21
+ public function toArray()
22
+ {
23
+ return [];
24
+ }
25
+
26
+ /**
27
+ * PayPalPaymentMethodDetails constructor.
28
+ */
29
+ private function __construct() {}
30
+ }
lib/Ing/Services/ing-php/src/Order/Transaction/Status.php CHANGED
@@ -18,6 +18,7 @@ final class Status
18
  const COMPLETED = 'completed';
19
  const CANCELLED = 'cancelled';
20
  const EXPIRED = 'expired';
 
21
 
22
  /**
23
  * @return array
@@ -31,7 +32,8 @@ final class Status
31
  self::ERROR,
32
  self::COMPLETED,
33
  self::CANCELLED,
34
- self::EXPIRED
 
35
  ];
36
  }
37
 
@@ -90,4 +92,12 @@ final class Status
90
  {
91
  return $this->value === self::EXPIRED;
92
  }
 
 
 
 
 
 
 
 
93
  }
18
  const COMPLETED = 'completed';
19
  const CANCELLED = 'cancelled';
20
  const EXPIRED = 'expired';
21
+ const ACCEPTED = 'accepted';
22
 
23
  /**
24
  * @return array
32
  self::ERROR,
33
  self::COMPLETED,
34
  self::CANCELLED,
35
+ self::EXPIRED,
36
+ self::ACCEPTED
37
  ];
38
  }
39
 
92
  {
93
  return $this->value === self::EXPIRED;
94
  }
95
+
96
+ /**
97
+ * @return bool
98
+ */
99
+ public function isAccepted()
100
+ {
101
+ return $this->value === self::ACCEPTED;
102
+ }
103
  }
lib/Ing/Services/ing-php/tests/ClientTest.php CHANGED
@@ -109,7 +109,7 @@ final class ClientTest extends \PHPUnit_Framework_TestCase
109
  'orders/',
110
  m::on(
111
  function (array $options) use ($order) {
112
- $this->assertEquals(3, $options['timeout']);
113
  $this->assertEquals('application/json', $options['headers']['Content-Type']);
114
  $this->assertEquals(
115
  ArrayFunctions::withoutNullValues($order->toArray()),
@@ -162,7 +162,7 @@ final class ClientTest extends \PHPUnit_Framework_TestCase
162
  'orders/',
163
  m::on(
164
  function (array $options) use ($order) {
165
- $this->assertEquals(3, $options['timeout']);
166
  $this->assertEquals('application/json', $options['headers']['Content-Type']);
167
  $this->assertEquals(
168
  ArrayFunctions::withoutNullValues($order->toArray()),
109
  'orders/',
110
  m::on(
111
  function (array $options) use ($order) {
112
+ $this->assertEquals(30, $options['timeout']);
113
  $this->assertEquals('application/json', $options['headers']['Content-Type']);
114
  $this->assertEquals(
115
  ArrayFunctions::withoutNullValues($order->toArray()),
162
  'orders/',
163
  m::on(
164
  function (array $options) use ($order) {
165
+ $this->assertEquals(30, $options['timeout']);
166
  $this->assertEquals('application/json', $options['headers']['Content-Type']);
167
  $this->assertEquals(
168
  ArrayFunctions::withoutNullValues($order->toArray()),
lib/Ing/Services/ing-php/tests/Common/IntegerBasedValueObjectTest.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Tests\Common;
4
+
5
+ use GingerPayments\Payment\Tests\Mock\FakeIntegerBasedValueObject;
6
+
7
+ final class IntegerBasedValueObjectTest extends \PHPUnit_Framework_TestCase
8
+ {
9
+ /**
10
+ * @test
11
+ */
12
+ public function itShouldCreateAnObjectFromInteger()
13
+ {
14
+ $integerValueObject = FakeIntegerBasedValueObject::fromInteger(1);
15
+
16
+ $this->assertInstanceOf(
17
+ 'GingerPayments\Payment\Tests\Mock\FakeIntegerBasedValueObject',
18
+ $integerValueObject
19
+ );
20
+ }
21
+
22
+ /**
23
+ * @test
24
+ */
25
+ public function itShouldConvertToInteger()
26
+ {
27
+ $integerBasedValueObject = FakeIntegerBasedValueObject::fromInteger(12345);
28
+
29
+ $this->assertInternalType('integer', $integerBasedValueObject->toInteger());
30
+ $this->assertEquals(12345, $integerBasedValueObject->toInteger());
31
+ }
32
+ }
lib/Ing/Services/ing-php/tests/Mock/FakeIntegerBasedValueObject.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Tests\Mock;
4
+
5
+ use GingerPayments\Payment\Common\IntegerBasedValueObject;
6
+
7
+ final class FakeIntegerBasedValueObject
8
+ {
9
+ use IntegerBasedValueObject;
10
+ }
lib/Ing/Services/ing-php/tests/Order/Customer/BirthdateTest.php ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Tests\Order\Customer;
4
+
5
+ use GingerPayments\Payment\Order\Customer\Birthdate;
6
+
7
+ final class BirthdateTest extends \PHPUnit_Framework_TestCase
8
+ {
9
+ /**
10
+ * @test
11
+ */
12
+ public function itShouldInstantiateFromAValidString()
13
+ {
14
+ $this->assertInstanceOf(
15
+ 'GingerPayments\Payment\Order\Customer\Birthdate',
16
+ Birthdate::fromString('1988-03-29')
17
+ );
18
+ }
19
+
20
+ /**
21
+ * @test
22
+ */
23
+ public function itCanNotBeEmptyString()
24
+ {
25
+ $this->setExpectedException('Assert\InvalidArgumentException');
26
+
27
+ $this->assertEmpty(Birthdate::fromString('')->toString());
28
+ }
29
+
30
+ /**
31
+ * @test
32
+ */
33
+ public function formatShouldBeCorrect()
34
+ {
35
+ $this->setExpectedException('Assert\InvalidArgumentException');
36
+
37
+ Birthdate::fromString('29-03-1998');
38
+ }
39
+
40
+ /**
41
+ * @test
42
+ */
43
+ public function itShouldReturnValidDatetime()
44
+ {
45
+ $this->assertEquals(Birthdate::fromString('1988-03-29')->toString(), '1988-03-29');
46
+ }
47
+ }
lib/Ing/Services/ing-php/tests/Order/Customer/GenderTest.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Tests\Order\Customer;
4
+
5
+ use GingerPayments\Payment\Order\Customer\Gender;
6
+
7
+ final class StatusTest extends \PHPUnit_Framework_TestCase
8
+ {
9
+ /**
10
+ * @test
11
+ */
12
+ public function itShouldInstantiateFromAValidGender()
13
+ {
14
+ $this->assertInstanceOf(
15
+ 'GingerPayments\Payment\Order\Customer\Gender',
16
+ Gender::fromString(Gender::MALE)
17
+ );
18
+ }
19
+
20
+ /**
21
+ * @test
22
+ */
23
+ public function itCanBeMale()
24
+ {
25
+ $gender = Gender::fromString(Gender::MALE);
26
+
27
+ $this->assertTrue($gender->isMale());
28
+ $this->assertFalse($gender->isFemale());
29
+ }
30
+
31
+ /**
32
+ * @test
33
+ */
34
+ public function itCanBeFemale()
35
+ {
36
+ $gender = Gender::fromString(Gender::FEMALE);
37
+
38
+ $this->assertFalse($gender->isMale());
39
+ $this->assertTrue($gender->isFemale());
40
+ }
41
+
42
+ /**
43
+ * @test
44
+ */
45
+ public function itShouldFailOnInvalidGender()
46
+ {
47
+ $this->setExpectedException('Assert\InvalidArgumentException');
48
+ Gender::fromString('androgynous');
49
+ }
50
+ }
lib/Ing/Services/ing-php/tests/Order/CustomerTest.php CHANGED
@@ -22,7 +22,10 @@ final class CustomerTest extends \PHPUnit_Framework_TestCase
22
  'housenumber' => '29 A-12',
23
  'country' => 'NL',
24
  'phone_numbers' => [],
25
- 'locale' => null
 
 
 
26
  ];
27
 
28
  $customer = Customer::fromArray($array);
@@ -42,6 +45,9 @@ final class CustomerTest extends \PHPUnit_Framework_TestCase
42
  $this->assertEquals($array['housenumber'], (string) $customer->housenumber());
43
  $this->assertEquals($array['country'], (string) $customer->country());
44
  $this->assertEquals($array['phone_numbers'], $customer->phoneNumbers()->toArray());
 
 
 
45
  }
46
 
47
  /**
@@ -60,7 +66,10 @@ final class CustomerTest extends \PHPUnit_Framework_TestCase
60
  'housenumber' => '29 A-12',
61
  'country' => 'NL',
62
  'phone_numbers' => [],
63
- 'locale' => null
 
 
 
64
  ];
65
 
66
  $this->assertEquals(
@@ -86,5 +95,7 @@ final class CustomerTest extends \PHPUnit_Framework_TestCase
86
  $this->assertNull($customer->housenumber());
87
  $this->assertNull($customer->country());
88
  $this->assertNull($customer->phoneNumbers());
 
 
89
  }
90
  }
22
  'housenumber' => '29 A-12',
23
  'country' => 'NL',
24
  'phone_numbers' => [],
25
+ 'locale' => null,
26
+ 'gender' => 'male',
27
+ 'birthdate' => '1988-03-29',
28
+ 'ip_address' => '128.0.0.1'
29
  ];
30
 
31
  $customer = Customer::fromArray($array);
45
  $this->assertEquals($array['housenumber'], (string) $customer->housenumber());
46
  $this->assertEquals($array['country'], (string) $customer->country());
47
  $this->assertEquals($array['phone_numbers'], $customer->phoneNumbers()->toArray());
48
+ $this->assertEquals($array['gender'], $customer->gender()->toString());
49
+ $this->assertEquals($array['birthdate'], $customer->birthdate()->toString());
50
+ $this->assertEquals($array['ip_address'], $customer->ip()->toString());
51
  }
52
 
53
  /**
66
  'housenumber' => '29 A-12',
67
  'country' => 'NL',
68
  'phone_numbers' => [],
69
+ 'locale' => null,
70
+ 'gender' => 'male',
71
+ 'birthdate' => '1988-03-29',
72
+ 'ip_address' => '2001:0db8:85a3:0000:0000:8a2e:0370:7334'
73
  ];
74
 
75
  $this->assertEquals(
95
  $this->assertNull($customer->housenumber());
96
  $this->assertNull($customer->country());
97
  $this->assertNull($customer->phoneNumbers());
98
+ $this->assertNull($customer->gender());
99
+ $this->assertNull($customer->birthdate());
100
  }
101
  }
lib/Ing/Services/ing-php/tests/Order/OrderLineTest.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Tests\Order;
4
+
5
+ use GingerPayments\Payment\Order\OrderLine;
6
+
7
+ final class OrderLineTest extends \PHPUnit_Framework_TestCase
8
+ {
9
+ /**
10
+ * @test
11
+ */
12
+ public function itShouldCreateFromArray()
13
+ {
14
+ $orderLineData = self::getOrderLinesData();
15
+
16
+ $orderLine = OrderLine::fromArray($orderLineData);
17
+
18
+ $this->assertInstanceOf(
19
+ 'GingerPayments\Payment\Order\OrderLine',
20
+ $orderLine
21
+ );
22
+
23
+ $this->assertEquals(
24
+ $orderLine->toArray(),
25
+ $orderLineData
26
+ );
27
+
28
+ $this->assertEquals($orderLineData['id'], $orderLine->getId());
29
+ $this->assertEquals($orderLineData['ean'], $orderLine->getEan());
30
+ $this->assertEquals($orderLineData['url'], $orderLine->getUrl());
31
+ $this->assertEquals($orderLineData['name'], $orderLine->getName());
32
+ $this->assertEquals($orderLineData['type'], $orderLine->getType());
33
+ $this->assertEquals($orderLineData['amount'], $orderLine->getAmount());
34
+ $this->assertEquals($orderLineData['currency'], $orderLine->getCurrency());
35
+ $this->assertEquals($orderLineData['quantity'], $orderLine->getQuantity());
36
+ $this->assertEquals($orderLineData['image_url'], $orderLine->getImageUrl());
37
+ $this->assertEquals($orderLineData['discount_rate'], $orderLine->getDiscountRate());
38
+ $this->assertEquals($orderLineData['vat_percentage'], $orderLine->getVatPercentage());
39
+ $this->assertEquals($orderLineData['merchant_order_line_id'], $orderLine->getMerchantOrderLineId());
40
+ }
41
+
42
+ /**
43
+ * @test
44
+ */
45
+ public function itShouldGuardRequiredFields()
46
+ {
47
+ $this->setExpectedException('Assert\InvalidArgumentException');
48
+ OrderLine::fromArray([]);
49
+ }
50
+
51
+ /**
52
+ * @test
53
+ */
54
+ public function itShouldSetNotRequiredValuesToNull()
55
+ {
56
+ $orderLineData = [
57
+ 'name' => "Order Item #1",
58
+ 'amount' => 1299,
59
+ 'quantity' => 1,
60
+ 'currency' => 'EUR',
61
+ 'vat_percentage' => 0,
62
+ 'merchant_order_line_id' => "AAA001"
63
+ ];
64
+
65
+ $orderLine = OrderLine::fromArray($orderLineData);
66
+
67
+ $this->assertNull($orderLine->id());
68
+ $this->assertNull($orderLine->ean());
69
+ $this->assertNull($orderLine->url());
70
+ $this->assertNull($orderLine->type());
71
+ $this->assertNull($orderLine->imageUrl());
72
+ $this->assertNull($orderLine->discountRate());
73
+ }
74
+
75
+ /**
76
+ * @test
77
+ */
78
+ public function itShouldValidateFields()
79
+ {
80
+ $orderLine = OrderLine::fromArray(self::getOrderLinesData());
81
+
82
+ $this->assertTrue($orderLine->currency()->isEUR());
83
+ $this->assertTrue($orderLine->type()->isPhysical());
84
+ $this->assertFalse($orderLine->type()->isDiscount());
85
+ $this->assertFalse($orderLine->type()->isShippingFee());
86
+ }
87
+
88
+ public static function getOrderLinesData()
89
+ {
90
+ return [
91
+ 'id' => '5ac3eb32-384d-4d61-a797-9f44b1cd70e5',
92
+ 'ean' => '9780471117094',
93
+ 'url' => 'https://example.com/',
94
+ 'name' => 'Order Item Name #1',
95
+ 'type' => 'physical',
96
+ 'amount' => 1299,
97
+ 'currency' => 'EUR',
98
+ 'quantity' => 1,
99
+ 'image_url' => 'https://example.com/image.jpg',
100
+ 'discount_rate' => 0,
101
+ 'vat_percentage' => 0,
102
+ 'merchant_order_line_id' => 'AAA111'
103
+ ];
104
+ }
105
+ }
lib/Ing/Services/ing-php/tests/Order/OrderLinesTest.php ADDED
@@ -0,0 +1,91 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace GingerPayments\Payment\Tests\Order;
4
+
5
+ use GingerPayments\Payment\Order\OrderLines;
6
+
7
+ final class OrderLinesTest extends \PHPUnit_Framework_TestCase
8
+ {
9
+ /**
10
+ * @test
11
+ */
12
+ public function itShouldCreate()
13
+ {
14
+ $this->assertInstanceOf(
15
+ 'GingerPayments\Payment\Order\OrderLines',
16
+ OrderLines::create()
17
+ );
18
+ }
19
+
20
+ /**
21
+ * @test
22
+ */
23
+ public function itShouldCreateFromArray()
24
+ {
25
+ $this->assertInstanceOf(
26
+ 'GingerPayments\Payment\Order\OrderLines',
27
+ OrderLines::fromArray([])
28
+ );
29
+ }
30
+
31
+ /**
32
+ * @test
33
+ */
34
+ public function itShouldBeTraversable()
35
+ {
36
+ $iterations = 0;
37
+ foreach (OrderLines::fromArray(self::getOrderLinesData()) as $key => $orderLine) {
38
+ $this->assertEquals($iterations, $key);
39
+ $this->assertInstanceOf('GingerPayments\Payment\Order\OrderLine', $orderLine);
40
+ $iterations++;
41
+ }
42
+ $this->assertEquals(2, $iterations);
43
+ }
44
+
45
+ /**
46
+ * @test
47
+ */
48
+ public function itShouldConvertToArray()
49
+ {
50
+ $array = self::getOrderLinesData();
51
+
52
+ $this->assertEquals(
53
+ $array,
54
+ OrderLines::fromArray($array)->toArray()
55
+ );
56
+ }
57
+
58
+ public static function getOrderLinesData()
59
+ {
60
+ return [
61
+ [
62
+ 'id' => '5ac3eb32-384d-4d61-a797-9f44b1cd70e5',
63
+ 'ean' => '9780471117094',
64
+ 'url' => 'https://example.com/',
65
+ 'name' => 'Order Item Name #1',
66
+ 'type' => 'physical',
67
+ 'amount' => 1299,
68
+ 'currency' => 'EUR',
69
+ 'quantity' => 1,
70
+ 'image_url' => 'https://example.com/image.jpg',
71
+ 'discount_rate' => 0,
72
+ 'vat_percentage' => 0,
73
+ 'merchant_order_line_id' => 'AAA222'
74
+ ],
75
+ [
76
+ 'id' => '5ac3eb32-384d-4d61-a797-9f44b1cd70e5',
77
+ 'ean' => '9780471117094',
78
+ 'url' => 'https://example.com/',
79
+ 'name' => 'Order Item Name #1',
80
+ 'type' => 'physical',
81
+ 'amount' => 1299,
82
+ 'currency' => 'EUR',
83
+ 'quantity' => 10,
84
+ 'image_url' => 'https://example.com/image.jpg',
85
+ 'discount_rate' => 1000,
86
+ 'vat_percentage' => 2000,
87
+ 'merchant_order_line_id' => 'AAA222'
88
+ ]
89
+ ];
90
+ }
91
+ }
lib/Ing/Services/ing-php/tests/Order/Transaction/PaymentMethodDetails/PaymentMethodDetailsFactoryTest.php CHANGED
@@ -63,6 +63,20 @@ final class PaymentMethodDetailsFactoryTest extends \PHPUnit_Framework_TestCase
63
  );
64
  }
65
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  /**
67
  * @test
68
  */
63
  );
64
  }
65
 
66
+ /**
67
+ * @test
68
+ */
69
+ public function itShouldCreateAPayPalPaymentMethodDetails()
70
+ {
71
+ $this->assertInstanceOf(
72
+ 'GingerPayments\Payment\Order\Transaction\PaymentMethodDetails\PayPalPaymentMethodDetails',
73
+ PaymentMethodDetailsFactory::createFromArray(
74
+ PaymentMethod::fromString(PaymentMethod::PAYPAL),
75
+ []
76
+ )
77
+ );
78
+ }
79
+
80
  /**
81
  * @test
82
  */
lib/Ing/Services/ing-php/tests/OrderTest.php CHANGED
@@ -290,7 +290,10 @@ final class OrderTest extends \PHPUnit_Framework_TestCase
290
  'phone_numbers' => ["0123456789"],
291
  'postal_code' => null,
292
  'housenumber' => null,
293
- 'locale' => null
 
 
 
294
  ];
295
 
296
  $array = [
@@ -309,7 +312,8 @@ final class OrderTest extends \PHPUnit_Framework_TestCase
309
  'status' => 'new',
310
  'customer' => $customer,
311
  'extra' => null,
312
- 'webhook_url' => 'http://www.example.com/webhook'
 
313
  ];
314
 
315
  $this->assertEquals(
@@ -354,7 +358,10 @@ final class OrderTest extends \PHPUnit_Framework_TestCase
354
  'phone_numbers' => ["0123456789"],
355
  'postal_code' => "1043 NX",
356
  'housenumber' => "29",
357
- 'locale' => "en_US"
 
 
 
358
  ];
359
 
360
  $array = [
@@ -373,7 +380,8 @@ final class OrderTest extends \PHPUnit_Framework_TestCase
373
  'status' => 'new',
374
  'customer' => $customer,
375
  'extra' => null,
376
- 'webhook_url' => 'http://www.example.com/webhook'
 
377
  ];
378
 
379
  $updatedOrder = [
@@ -392,7 +400,8 @@ final class OrderTest extends \PHPUnit_Framework_TestCase
392
  'status' => 'new',
393
  'customer' => $customer,
394
  'extra' => null,
395
- 'webhook_url' => 'http://www.example.com/WEBHOOK'
 
396
  ];
397
 
398
 
290
  'phone_numbers' => ["0123456789"],
291
  'postal_code' => null,
292
  'housenumber' => null,
293
+ 'locale' => null,
294
+ 'gender' => 'male',
295
+ 'birthdate' => '1988-03-29',
296
+ 'ip_address' => '128.0.0.1'
297
  ];
298
 
299
  $array = [
312
  'status' => 'new',
313
  'customer' => $customer,
314
  'extra' => null,
315
+ 'webhook_url' => 'http://www.example.com/webhook',
316
+ 'order_lines' => null
317
  ];
318
 
319
  $this->assertEquals(
358
  'phone_numbers' => ["0123456789"],
359
  'postal_code' => "1043 NX",
360
  'housenumber' => "29",
361
+ 'locale' => "en_US",
362
+ 'gender' => 'male',
363
+ 'birthdate' => '1988-03-29',
364
+ 'ip_address' => '128.0.0.1'
365
  ];
366
 
367
  $array = [
380
  'status' => 'new',
381
  'customer' => $customer,
382
  'extra' => null,
383
+ 'webhook_url' => 'http://www.example.com/webhook',
384
+ 'order_lines' => null
385
  ];
386
 
387
  $updatedOrder = [
400
  'status' => 'new',
401
  'customer' => $customer,
402
  'extra' => null,
403
+ 'webhook_url' => 'http://www.example.com/WEBHOOK',
404
+ 'order_lines' => null
405
  ];
406
 
407
 
lib/Ing/Services/ing-php/vendor/autoload.php CHANGED
@@ -2,6 +2,6 @@
2
 
3
  // autoload.php @generated by Composer
4
 
5
- require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
  return ComposerAutoloaderInit7ff6aa8a97863a0afac29ee99103185f::getLoader();
2
 
3
  // autoload.php @generated by Composer
4
 
5
+ require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
  return ComposerAutoloaderInit7ff6aa8a97863a0afac29ee99103185f::getLoader();
lib/Ing/Services/ing-php/vendor/composer/installed.json CHANGED
@@ -453,56 +453,6 @@
453
  "zipcode"
454
  ]
455
  },
456
- {
457
- "name": "paragonie/random_compat",
458
- "version": "v2.0.4",
459
- "version_normalized": "2.0.4.0",
460
- "source": {
461
- "type": "git",
462
- "url": "https://github.com/paragonie/random_compat.git",
463
- "reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e"
464
- },
465
- "dist": {
466
- "type": "zip",
467
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e",
468
- "reference": "a9b97968bcde1c4de2a5ec6cbd06a0f6c919b46e",
469
- "shasum": ""
470
- },
471
- "require": {
472
- "php": ">=5.2.0"
473
- },
474
- "require-dev": {
475
- "phpunit/phpunit": "4.*|5.*"
476
- },
477
- "suggest": {
478
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
479
- },
480
- "time": "2016-11-07 23:38:38",
481
- "type": "library",
482
- "installation-source": "dist",
483
- "autoload": {
484
- "files": [
485
- "lib/random.php"
486
- ]
487
- },
488
- "notification-url": "https://packagist.org/downloads/",
489
- "license": [
490
- "MIT"
491
- ],
492
- "authors": [
493
- {
494
- "name": "Paragon Initiative Enterprises",
495
- "email": "security@paragonie.com",
496
- "homepage": "https://paragonie.com"
497
- }
498
- ],
499
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
500
- "keywords": [
501
- "csprng",
502
- "pseudorandom",
503
- "random"
504
- ]
505
- },
506
  {
507
  "name": "ramsey/uuid",
508
  "version": "2.9.0",
@@ -1947,12 +1897,12 @@
1947
  "version_normalized": "0.9.5.0",
1948
  "source": {
1949
  "type": "git",
1950
- "url": "https://github.com/padraic/mockery.git",
1951
  "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2"
1952
  },
1953
  "dist": {
1954
  "type": "zip",
1955
- "url": "https://api.github.com/repos/padraic/mockery/zipball/4db079511a283e5aba1b3c2fb19037c645e70fc2",
1956
  "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2",
1957
  "shasum": ""
1958
  },
@@ -2087,5 +2037,55 @@
2087
  "phpcs",
2088
  "standards"
2089
  ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2090
  }
2091
  ]
453
  "zipcode"
454
  ]
455
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
  {
457
  "name": "ramsey/uuid",
458
  "version": "2.9.0",
1897
  "version_normalized": "0.9.5.0",
1898
  "source": {
1899
  "type": "git",
1900
+ "url": "https://github.com/mockery/mockery.git",
1901
  "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2"
1902
  },
1903
  "dist": {
1904
  "type": "zip",
1905
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/4db079511a283e5aba1b3c2fb19037c645e70fc2",
1906
  "reference": "4db079511a283e5aba1b3c2fb19037c645e70fc2",
1907
  "shasum": ""
1908
  },
2037
  "phpcs",
2038
  "standards"
2039
  ]
2040
+ },
2041
+ {
2042
+ "name": "paragonie/random_compat",
2043
+ "version": "v2.0.10",
2044
+ "version_normalized": "2.0.10.0",
2045
+ "source": {
2046
+ "type": "git",
2047
+ "url": "https://github.com/paragonie/random_compat.git",
2048
+ "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d"
2049
+ },
2050
+ "dist": {
2051
+ "type": "zip",
2052
+ "url": "https://api.github.com/repos/paragonie/random_compat/zipball/634bae8e911eefa89c1abfbf1b66da679ac8f54d",
2053
+ "reference": "634bae8e911eefa89c1abfbf1b66da679ac8f54d",
2054
+ "shasum": ""
2055
+ },
2056
+ "require": {
2057
+ "php": ">=5.2.0"
2058
+ },
2059
+ "require-dev": {
2060
+ "phpunit/phpunit": "4.*|5.*"
2061
+ },
2062
+ "suggest": {
2063
+ "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
2064
+ },
2065
+ "time": "2017-03-13 16:27:32",
2066
+ "type": "library",
2067
+ "installation-source": "dist",
2068
+ "autoload": {
2069
+ "files": [
2070
+ "lib/random.php"
2071
+ ]
2072
+ },
2073
+ "notification-url": "https://packagist.org/downloads/",
2074
+ "license": [
2075
+ "MIT"
2076
+ ],
2077
+ "authors": [
2078
+ {
2079
+ "name": "Paragon Initiative Enterprises",
2080
+ "email": "security@paragonie.com",
2081
+ "homepage": "https://paragonie.com"
2082
+ }
2083
+ ],
2084
+ "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
2085
+ "keywords": [
2086
+ "csprng",
2087
+ "pseudorandom",
2088
+ "random"
2089
+ ]
2090
  }
2091
  ]
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/composer.json CHANGED
@@ -1,35 +1,37 @@
1
  {
2
- "name": "paragonie/random_compat",
3
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
4
- "keywords": [
5
- "csprng",
6
- "random",
7
- "pseudorandom"
8
- ],
9
- "license": "MIT",
10
- "type": "library",
11
- "authors": [
12
- {
13
- "name": "Paragon Initiative Enterprises",
14
- "email": "security@paragonie.com",
15
- "homepage": "https://paragonie.com"
16
- }
17
- ],
18
- "support": {
19
- "issues": "https://github.com/paragonie/random_compat/issues",
20
- "email": "info@paragonie.com",
21
- "source": "https://github.com/paragonie/random_compat"
22
- },
23
- "require": {
24
- "php": ">=5.2.0"
25
- },
26
- "require-dev": {
27
- "phpunit/phpunit": "4.*|5.*"
28
- },
29
- "suggest": {
30
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
31
- },
32
- "autoload": {
33
- "files": ["lib/random.php"]
34
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  }
1
  {
2
+ "name": "paragonie/random_compat",
3
+ "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
4
+ "keywords": [
5
+ "csprng",
6
+ "random",
7
+ "pseudorandom"
8
+ ],
9
+ "license": "MIT",
10
+ "type": "library",
11
+ "authors": [
12
+ {
13
+ "name": "Paragon Initiative Enterprises",
14
+ "email": "security@paragonie.com",
15
+ "homepage": "https://paragonie.com"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  }
17
+ ],
18
+ "support": {
19
+ "issues": "https://github.com/paragonie/random_compat/issues",
20
+ "email": "info@paragonie.com",
21
+ "source": "https://github.com/paragonie/random_compat"
22
+ },
23
+ "require": {
24
+ "php": ">=5.2.0"
25
+ },
26
+ "require-dev": {
27
+ "phpunit/phpunit": "4.*|5.*"
28
+ },
29
+ "suggest": {
30
+ "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
31
+ },
32
+ "autoload": {
33
+ "files": [
34
+ "lib/random.php"
35
+ ]
36
+ }
37
  }
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/byte_safe_strings.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * The MIT License (MIT)
7
  *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
@@ -51,7 +51,7 @@ if (!is_callable('RandomCompat_strlen')) {
51
  );
52
  }
53
 
54
- return mb_strlen($binary_string, '8bit');
55
  }
56
 
57
  } else {
@@ -73,7 +73,7 @@ if (!is_callable('RandomCompat_strlen')) {
73
  'RandomCompat_strlen() expects a string'
74
  );
75
  }
76
- return strlen($binary_string);
77
  }
78
  }
79
  }
@@ -118,7 +118,7 @@ if (!is_callable('RandomCompat_substr')) {
118
  * mb_substr($str, 0, NULL, '8bit') returns an empty string on
119
  * PHP 5.3, so we have to find the length ourselves.
120
  */
121
- $length = RandomCompat_strlen($length) - $start;
122
  } elseif (!is_int($length)) {
123
  throw new TypeError(
124
  'RandomCompat_substr(): Third argument should be an integer, or omitted'
@@ -130,10 +130,10 @@ if (!is_callable('RandomCompat_substr')) {
130
  return '';
131
  }
132
  if ($start > RandomCompat_strlen($binary_string)) {
133
- return false;
134
  }
135
 
136
- return mb_substr($binary_string, $start, $length, '8bit');
137
  }
138
 
139
  } else {
@@ -172,10 +172,10 @@ if (!is_callable('RandomCompat_substr')) {
172
  );
173
  }
174
 
175
- return substr($binary_string, $start, $length);
176
  }
177
 
178
- return substr($binary_string, $start);
179
  }
180
  }
181
  }
5
  *
6
  * The MIT License (MIT)
7
  *
8
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
51
  );
52
  }
53
 
54
+ return (int) mb_strlen($binary_string, '8bit');
55
  }
56
 
57
  } else {
73
  'RandomCompat_strlen() expects a string'
74
  );
75
  }
76
+ return (int) strlen($binary_string);
77
  }
78
  }
79
  }
118
  * mb_substr($str, 0, NULL, '8bit') returns an empty string on
119
  * PHP 5.3, so we have to find the length ourselves.
120
  */
121
+ $length = RandomCompat_strlen($binary_string) - $start;
122
  } elseif (!is_int($length)) {
123
  throw new TypeError(
124
  'RandomCompat_substr(): Third argument should be an integer, or omitted'
130
  return '';
131
  }
132
  if ($start > RandomCompat_strlen($binary_string)) {
133
+ return '';
134
  }
135
 
136
+ return (string) mb_substr($binary_string, $start, $length, '8bit');
137
  }
138
 
139
  } else {
172
  );
173
  }
174
 
175
+ return (string) substr($binary_string, $start, $length);
176
  }
177
 
178
+ return (string) substr($binary_string, $start);
179
  }
180
  }
181
  }
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/cast_to_int.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * The MIT License (MIT)
7
  *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
@@ -40,13 +40,15 @@ if (!is_callable('RandomCompat_intval')) {
40
  * @param int|float $number The number we want to convert to an int
41
  * @param boolean $fail_open Set to true to not throw an exception
42
  *
43
- * @return int (or float if $fail_open)
44
  *
45
  * @throws TypeError
46
  */
47
  function RandomCompat_intval($number, $fail_open = false)
48
  {
49
- if (is_numeric($number)) {
 
 
50
  $number += 0;
51
  }
52
 
@@ -60,12 +62,13 @@ if (!is_callable('RandomCompat_intval')) {
60
  $number = (int) $number;
61
  }
62
 
63
- if (is_int($number) || $fail_open) {
64
- return $number;
 
 
 
 
65
  }
66
-
67
- throw new TypeError(
68
- 'Expected an integer.'
69
- );
70
  }
71
  }
5
  *
6
  * The MIT License (MIT)
7
  *
8
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
40
  * @param int|float $number The number we want to convert to an int
41
  * @param boolean $fail_open Set to true to not throw an exception
42
  *
43
+ * @return float|int
44
  *
45
  * @throws TypeError
46
  */
47
  function RandomCompat_intval($number, $fail_open = false)
48
  {
49
+ if (is_int($number) || is_float($number)) {
50
+ $number += 0;
51
+ } elseif (is_numeric($number)) {
52
  $number += 0;
53
  }
54
 
62
  $number = (int) $number;
63
  }
64
 
65
+ if (is_int($number)) {
66
+ return (int) $number;
67
+ } elseif (!$fail_open) {
68
+ throw new TypeError(
69
+ 'Expected an integer.'
70
+ );
71
  }
72
+ return $number;
 
 
 
73
  }
74
  }
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/error_polyfill.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * The MIT License (MIT)
7
  *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
5
  *
6
  * The MIT License (MIT)
7
  *
8
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random.php CHANGED
@@ -3,12 +3,12 @@
3
  * Random_* Compatibility Library
4
  * for using the new PHP 7 random_* API in PHP 5 projects
5
  *
6
- * @version 2.0.4
7
- * @released 2016-11-07
8
  *
9
  * The MIT License (MIT)
10
  *
11
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
12
  *
13
  * Permission is hereby granted, free of charge, to any person obtaining a copy
14
  * of this software and associated documentation files (the "Software"), to deal
@@ -44,172 +44,180 @@ if (!defined('PHP_VERSION_ID')) {
44
  /**
45
  * PHP 7.0.0 and newer have these functions natively.
46
  */
47
- if (PHP_VERSION_ID < 70000) {
48
- if (!defined('RANDOM_COMPAT_READ_BUFFER')) {
49
- define('RANDOM_COMPAT_READ_BUFFER', 8);
50
- }
51
 
52
- $RandomCompatDIR = dirname(__FILE__);
 
 
53
 
54
- require_once $RandomCompatDIR.'/byte_safe_strings.php';
55
- require_once $RandomCompatDIR.'/cast_to_int.php';
56
- require_once $RandomCompatDIR.'/error_polyfill.php';
57
 
58
- if (!is_callable('random_bytes')) {
59
- /**
60
- * PHP 5.2.0 - 5.6.x way to implement random_bytes()
61
- *
62
- * We use conditional statements here to define the function in accordance
63
- * to the operating environment. It's a micro-optimization.
64
- *
65
- * In order of preference:
66
- * 1. Use libsodium if available.
67
- * 2. fread() /dev/urandom if available (never on Windows)
68
- * 3. mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM)
69
- * 4. COM('CAPICOM.Utilities.1')->GetRandom()
70
- * 5. openssl_random_pseudo_bytes() (absolute last resort)
71
- *
72
- * See RATIONALE.md for our reasoning behind this particular order
73
- */
74
- if (extension_loaded('libsodium')) {
75
- // See random_bytes_libsodium.php
76
- if (PHP_VERSION_ID >= 50300 && is_callable('\\Sodium\\randombytes_buf')) {
77
- require_once $RandomCompatDIR.'/random_bytes_libsodium.php';
78
- } elseif (method_exists('Sodium', 'randombytes_buf')) {
79
- require_once $RandomCompatDIR.'/random_bytes_libsodium_legacy.php';
80
- }
 
 
81
  }
 
82
 
83
- /**
84
- * Reading directly from /dev/urandom:
85
- */
86
- if (DIRECTORY_SEPARATOR === '/') {
87
- // DIRECTORY_SEPARATOR === '/' on Unix-like OSes -- this is a fast
88
- // way to exclude Windows.
89
- $RandomCompatUrandom = true;
90
- $RandomCompat_basedir = ini_get('open_basedir');
91
-
92
- if (!empty($RandomCompat_basedir)) {
93
- $RandomCompat_open_basedir = explode(
94
- PATH_SEPARATOR,
95
- strtolower($RandomCompat_basedir)
96
- );
97
- $RandomCompatUrandom = (array() !== array_intersect(
98
- array('/dev', '/dev/', '/dev/urandom'),
99
- $RandomCompat_open_basedir
100
- ));
101
- $RandomCompat_open_basedir = null;
102
- }
103
 
104
- if (
105
- !is_callable('random_bytes')
106
- &&
107
- $RandomCompatUrandom
108
- &&
109
- @is_readable('/dev/urandom')
110
- ) {
111
- // Error suppression on is_readable() in case of an open_basedir
112
- // or safe_mode failure. All we care about is whether or not we
113
- // can read it at this point. If the PHP environment is going to
114
- // panic over trying to see if the file can be read in the first
115
- // place, that is not helpful to us here.
116
-
117
- // See random_bytes_dev_urandom.php
118
- require_once $RandomCompatDIR.'/random_bytes_dev_urandom.php';
119
- }
120
- // Unset variables after use
121
- $RandomCompat_basedir = null;
122
- } else {
123
- $RandomCompatUrandom = false;
124
  }
125
 
126
- /**
127
- * mcrypt_create_iv()
128
- *
129
- * We only want to use mcypt_create_iv() if:
130
- *
131
- * - random_bytes() hasn't already been defined
132
- * - PHP >= 5.3.7
133
- * - the mcrypt extensions is loaded
134
- * - One of these two conditions is true:
135
- * - We're on Windows (DIRECTORY_SEPARATOR !== '/')
136
- * - We're not on Windows and /dev/urandom is readabale
137
- * (i.e. we're not in a chroot jail)
138
- * - Special case:
139
- * - If we're not on Windows, but the PHP version is between
140
- * 5.6.10 and 5.6.12, we don't want to use mcrypt. It will
141
- * hang indefinitely. This is bad.
142
- */
143
  if (
144
  !is_callable('random_bytes')
145
  &&
146
- PHP_VERSION_ID >= 50307
147
  &&
148
- extension_loaded('mcrypt')
149
  ) {
150
- // Prevent this code from hanging indefinitely on non-Windows;
151
- // see https://bugs.php.net/bug.php?id=69833
152
- if (
153
- DIRECTORY_SEPARATOR !== '/' ||
154
- (PHP_VERSION_ID <= 50609 || PHP_VERSION_ID >= 50613)
155
- ) {
156
- // See random_bytes_mcrypt.php
157
- require_once $RandomCompatDIR.'/random_bytes_mcrypt.php';
158
- }
159
  }
160
- $RandomCompatUrandom = null;
 
 
 
 
161
 
162
- /**
163
- * This is a Windows-specific fallback, for when the mcrypt extension
164
- * isn't loaded.
165
- */
166
- if (
167
- !is_callable('random_bytes')
168
- &&
169
- extension_loaded('com_dotnet')
170
- &&
171
- class_exists('COM')
172
- ) {
173
- $RandomCompat_disabled_classes = preg_split(
174
- '#\s*,\s*#',
175
- strtolower(ini_get('disable_classes'))
176
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
 
178
- if (!in_array('com', $RandomCompat_disabled_classes)) {
179
- try {
180
- $RandomCompatCOMtest = new COM('CAPICOM.Utilities.1');
181
- if (method_exists($RandomCompatCOMtest, 'GetRandom')) {
182
- // See random_bytes_com_dotnet.php
183
- require_once $RandomCompatDIR.'/random_bytes_com_dotnet.php';
184
- }
185
- } catch (com_exception $e) {
186
- // Don't try to use it.
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  }
 
 
188
  }
189
- $RandomCompat_disabled_classes = null;
190
- $RandomCompatCOMtest = null;
191
  }
 
 
 
192
 
 
 
 
 
193
  /**
194
- * throw new Exception
 
 
 
 
 
195
  */
196
- if (!is_callable('random_bytes')) {
197
- /**
198
- * We don't have any more options, so let's throw an exception right now
199
- * and hope the developer won't let it fail silently.
200
- */
201
- function random_bytes($length)
202
- {
203
- throw new Exception(
204
- 'There is no suitable CSPRNG installed on your system'
205
- );
206
- }
207
  }
208
  }
 
209
 
210
- if (!is_callable('random_int')) {
211
- require_once $RandomCompatDIR.'/random_int.php';
212
- }
213
-
214
- $RandomCompatDIR = null;
215
  }
 
 
3
  * Random_* Compatibility Library
4
  * for using the new PHP 7 random_* API in PHP 5 projects
5
  *
6
+ * @version 2.0.10
7
+ * @released 2017-03-13
8
  *
9
  * The MIT License (MIT)
10
  *
11
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
12
  *
13
  * Permission is hereby granted, free of charge, to any person obtaining a copy
14
  * of this software and associated documentation files (the "Software"), to deal
44
  /**
45
  * PHP 7.0.0 and newer have these functions natively.
46
  */
47
+ if (PHP_VERSION_ID >= 70000) {
48
+ return;
49
+ }
 
50
 
51
+ if (!defined('RANDOM_COMPAT_READ_BUFFER')) {
52
+ define('RANDOM_COMPAT_READ_BUFFER', 8);
53
+ }
54
 
55
+ $RandomCompatDIR = dirname(__FILE__);
 
 
56
 
57
+ require_once $RandomCompatDIR . '/byte_safe_strings.php';
58
+ require_once $RandomCompatDIR . '/cast_to_int.php';
59
+ require_once $RandomCompatDIR . '/error_polyfill.php';
60
+
61
+ if (!is_callable('random_bytes')) {
62
+ /**
63
+ * PHP 5.2.0 - 5.6.x way to implement random_bytes()
64
+ *
65
+ * We use conditional statements here to define the function in accordance
66
+ * to the operating environment. It's a micro-optimization.
67
+ *
68
+ * In order of preference:
69
+ * 1. Use libsodium if available.
70
+ * 2. fread() /dev/urandom if available (never on Windows)
71
+ * 3. mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM)
72
+ * 4. COM('CAPICOM.Utilities.1')->GetRandom()
73
+ *
74
+ * See RATIONALE.md for our reasoning behind this particular order
75
+ */
76
+ if (extension_loaded('libsodium')) {
77
+ // See random_bytes_libsodium.php
78
+ if (PHP_VERSION_ID >= 50300 && is_callable('\\Sodium\\randombytes_buf')) {
79
+ require_once $RandomCompatDIR . '/random_bytes_libsodium.php';
80
+ } elseif (method_exists('Sodium', 'randombytes_buf')) {
81
+ require_once $RandomCompatDIR . '/random_bytes_libsodium_legacy.php';
82
  }
83
+ }
84
 
85
+ /**
86
+ * Reading directly from /dev/urandom:
87
+ */
88
+ if (DIRECTORY_SEPARATOR === '/') {
89
+ // DIRECTORY_SEPARATOR === '/' on Unix-like OSes -- this is a fast
90
+ // way to exclude Windows.
91
+ $RandomCompatUrandom = true;
92
+ $RandomCompat_basedir = ini_get('open_basedir');
 
 
 
 
 
 
 
 
 
 
 
 
93
 
94
+ if (!empty($RandomCompat_basedir)) {
95
+ $RandomCompat_open_basedir = explode(
96
+ PATH_SEPARATOR,
97
+ strtolower($RandomCompat_basedir)
98
+ );
99
+ $RandomCompatUrandom = (array() !== array_intersect(
100
+ array('/dev', '/dev/', '/dev/urandom'),
101
+ $RandomCompat_open_basedir
102
+ ));
103
+ $RandomCompat_open_basedir = null;
 
 
 
 
 
 
 
 
 
 
104
  }
105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  if (
107
  !is_callable('random_bytes')
108
  &&
109
+ $RandomCompatUrandom
110
  &&
111
+ @is_readable('/dev/urandom')
112
  ) {
113
+ // Error suppression on is_readable() in case of an open_basedir
114
+ // or safe_mode failure. All we care about is whether or not we
115
+ // can read it at this point. If the PHP environment is going to
116
+ // panic over trying to see if the file can be read in the first
117
+ // place, that is not helpful to us here.
118
+
119
+ // See random_bytes_dev_urandom.php
120
+ require_once $RandomCompatDIR . '/random_bytes_dev_urandom.php';
 
121
  }
122
+ // Unset variables after use
123
+ $RandomCompat_basedir = null;
124
+ } else {
125
+ $RandomCompatUrandom = false;
126
+ }
127
 
128
+ /**
129
+ * mcrypt_create_iv()
130
+ *
131
+ * We only want to use mcypt_create_iv() if:
132
+ *
133
+ * - random_bytes() hasn't already been defined
134
+ * - the mcrypt extensions is loaded
135
+ * - One of these two conditions is true:
136
+ * - We're on Windows (DIRECTORY_SEPARATOR !== '/')
137
+ * - We're not on Windows and /dev/urandom is readabale
138
+ * (i.e. we're not in a chroot jail)
139
+ * - Special case:
140
+ * - If we're not on Windows, but the PHP version is between
141
+ * 5.6.10 and 5.6.12, we don't want to use mcrypt. It will
142
+ * hang indefinitely. This is bad.
143
+ * - If we're on Windows, we want to use PHP >= 5.3.7 or else
144
+ * we get insufficient entropy errors.
145
+ */
146
+ if (
147
+ !is_callable('random_bytes')
148
+ &&
149
+ // Windows on PHP < 5.3.7 is broken, but non-Windows is not known to be.
150
+ (DIRECTORY_SEPARATOR === '/' || PHP_VERSION_ID >= 50307)
151
+ &&
152
+ // Prevent this code from hanging indefinitely on non-Windows;
153
+ // see https://bugs.php.net/bug.php?id=69833
154
+ (
155
+ DIRECTORY_SEPARATOR !== '/' ||
156
+ (PHP_VERSION_ID <= 50609 || PHP_VERSION_ID >= 50613)
157
+ )
158
+ &&
159
+ extension_loaded('mcrypt')
160
+ ) {
161
+ // See random_bytes_mcrypt.php
162
+ require_once $RandomCompatDIR . '/random_bytes_mcrypt.php';
163
+ }
164
+ $RandomCompatUrandom = null;
165
 
166
+ /**
167
+ * This is a Windows-specific fallback, for when the mcrypt extension
168
+ * isn't loaded.
169
+ */
170
+ if (
171
+ !is_callable('random_bytes')
172
+ &&
173
+ extension_loaded('com_dotnet')
174
+ &&
175
+ class_exists('COM')
176
+ ) {
177
+ $RandomCompat_disabled_classes = preg_split(
178
+ '#\s*,\s*#',
179
+ strtolower(ini_get('disable_classes'))
180
+ );
181
+
182
+ if (!in_array('com', $RandomCompat_disabled_classes)) {
183
+ try {
184
+ $RandomCompatCOMtest = new COM('CAPICOM.Utilities.1');
185
+ if (method_exists($RandomCompatCOMtest, 'GetRandom')) {
186
+ // See random_bytes_com_dotnet.php
187
+ require_once $RandomCompatDIR . '/random_bytes_com_dotnet.php';
188
  }
189
+ } catch (com_exception $e) {
190
+ // Don't try to use it.
191
  }
 
 
192
  }
193
+ $RandomCompat_disabled_classes = null;
194
+ $RandomCompatCOMtest = null;
195
+ }
196
 
197
+ /**
198
+ * throw new Exception
199
+ */
200
+ if (!is_callable('random_bytes')) {
201
  /**
202
+ * We don't have any more options, so let's throw an exception right now
203
+ * and hope the developer won't let it fail silently.
204
+ *
205
+ * @param mixed $length
206
+ * @return void
207
+ * @throws Exception
208
  */
209
+ function random_bytes($length)
210
+ {
211
+ unset($length); // Suppress "variable not used" warnings.
212
+ throw new Exception(
213
+ 'There is no suitable CSPRNG installed on your system'
214
+ );
 
 
 
 
 
215
  }
216
  }
217
+ }
218
 
219
+ if (!is_callable('random_int')) {
220
+ require_once $RandomCompatDIR . '/random_int.php';
 
 
 
221
  }
222
+
223
+ $RandomCompatDIR = null;
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_com_dotnet.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * The MIT License (MIT)
7
  *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
@@ -55,6 +55,11 @@ if (!is_callable('random_bytes')) {
55
  }
56
 
57
  $buf = '';
 
 
 
 
 
58
  $util = new COM('CAPICOM.Utilities.1');
59
  $execCount = 0;
60
 
5
  *
6
  * The MIT License (MIT)
7
  *
8
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
55
  }
56
 
57
  $buf = '';
58
+ if (!class_exists('COM')) {
59
+ throw new Error(
60
+ 'COM does not exist'
61
+ );
62
+ }
63
  $util = new COM('CAPICOM.Utilities.1');
64
  $execCount = 0;
65
 
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_dev_urandom.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * The MIT License (MIT)
7
  *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
@@ -104,33 +104,50 @@ if (!is_callable('random_bytes')) {
104
  * page load.
105
  */
106
  if (!empty($fp)) {
 
 
 
107
  $remaining = $bytes;
 
 
 
 
108
  $buf = '';
109
 
110
  /**
111
  * We use fread() in a loop to protect against partial reads
112
  */
113
  do {
 
 
 
114
  $read = fread($fp, $remaining);
115
- if ($read === false) {
116
- /**
117
- * We cannot safely read from the file. Exit the
118
- * do-while loop and trigger the exception condition
119
- */
120
- $buf = false;
121
- break;
 
 
 
 
122
  }
123
  /**
124
  * Decrease the number of bytes returned from remaining
125
  */
126
  $remaining -= RandomCompat_strlen($read);
127
- $buf .= $read;
 
 
 
128
  } while ($remaining > 0);
129
 
130
  /**
131
  * Is our result valid?
132
  */
133
- if ($buf !== false) {
134
  if (RandomCompat_strlen($buf) === $bytes) {
135
  /**
136
  * Return our random entropy buffer here:
5
  *
6
  * The MIT License (MIT)
7
  *
8
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
104
  * page load.
105
  */
106
  if (!empty($fp)) {
107
+ /**
108
+ * @var int
109
+ */
110
  $remaining = $bytes;
111
+
112
+ /**
113
+ * @var string|bool
114
+ */
115
  $buf = '';
116
 
117
  /**
118
  * We use fread() in a loop to protect against partial reads
119
  */
120
  do {
121
+ /**
122
+ * @var string|bool
123
+ */
124
  $read = fread($fp, $remaining);
125
+ if (!is_string($read)) {
126
+ if ($read === false) {
127
+ /**
128
+ * We cannot safely read from the file. Exit the
129
+ * do-while loop and trigger the exception condition
130
+ *
131
+ * @var string|bool
132
+ */
133
+ $buf = false;
134
+ break;
135
+ }
136
  }
137
  /**
138
  * Decrease the number of bytes returned from remaining
139
  */
140
  $remaining -= RandomCompat_strlen($read);
141
+ /**
142
+ * @var string|bool
143
+ */
144
+ $buf = $buf . $read;
145
  } while ($remaining > 0);
146
 
147
  /**
148
  * Is our result valid?
149
  */
150
+ if (is_string($buf)) {
151
  if (RandomCompat_strlen($buf) === $bytes) {
152
  /**
153
  * Return our random entropy buffer here:
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_libsodium.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * The MIT License (MIT)
7
  *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
5
  *
6
  * The MIT License (MIT)
7
  *
8
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_libsodium_legacy.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * The MIT License (MIT)
7
  *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
@@ -56,12 +56,16 @@ if (!is_callable('random_bytes')) {
56
  );
57
  }
58
 
 
 
 
 
 
59
  /**
60
  * \Sodium\randombytes_buf() doesn't allow more than 2147483647 bytes to be
61
  * generated in one invocation.
62
  */
63
  if ($bytes > 2147483647) {
64
- $buf = '';
65
  for ($i = 0; $i < $bytes; $i += 1073741824) {
66
  $n = ($bytes - $i) > 1073741824
67
  ? 1073741824
@@ -69,10 +73,10 @@ if (!is_callable('random_bytes')) {
69
  $buf .= Sodium::randombytes_buf($n);
70
  }
71
  } else {
72
- $buf = Sodium::randombytes_buf($bytes);
73
  }
74
 
75
- if ($buf !== false) {
76
  if (RandomCompat_strlen($buf) === $bytes) {
77
  return $buf;
78
  }
5
  *
6
  * The MIT License (MIT)
7
  *
8
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
56
  );
57
  }
58
 
59
+ /**
60
+ * @var string
61
+ */
62
+ $buf = '';
63
+
64
  /**
65
  * \Sodium\randombytes_buf() doesn't allow more than 2147483647 bytes to be
66
  * generated in one invocation.
67
  */
68
  if ($bytes > 2147483647) {
 
69
  for ($i = 0; $i < $bytes; $i += 1073741824) {
70
  $n = ($bytes - $i) > 1073741824
71
  ? 1073741824
73
  $buf .= Sodium::randombytes_buf($n);
74
  }
75
  } else {
76
+ $buf .= Sodium::randombytes_buf($bytes);
77
  }
78
 
79
+ if (is_string($buf)) {
80
  if (RandomCompat_strlen($buf) === $bytes) {
81
  return $buf;
82
  }
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_bytes_mcrypt.php CHANGED
@@ -5,7 +5,7 @@
5
  *
6
  * The MIT License (MIT)
7
  *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
5
  *
6
  * The MIT License (MIT)
7
  *
8
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
9
  *
10
  * Permission is hereby granted, free of charge, to any person obtaining a copy
11
  * of this software and associated documentation files (the "Software"), to deal
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/lib/random_int.php CHANGED
@@ -1,191 +1,190 @@
1
  <?php
2
- /**
3
- * Random_* Compatibility Library
4
- * for using the new PHP 7 random_* API in PHP 5 projects
5
- *
6
- * The MIT License (MIT)
7
- *
8
- * Copyright (c) 2015 - 2016 Paragon Initiative Enterprises
9
- *
10
- * Permission is hereby granted, free of charge, to any person obtaining a copy
11
- * of this software and associated documentation files (the "Software"), to deal
12
- * in the Software without restriction, including without limitation the rights
13
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
14
- * copies of the Software, and to permit persons to whom the Software is
15
- * furnished to do so, subject to the following conditions:
16
- *
17
- * The above copyright notice and this permission notice shall be included in
18
- * all copies or substantial portions of the Software.
19
- *
20
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
21
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
22
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
23
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
24
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
25
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
- * SOFTWARE.
27
- */
28
-
29
- /**
30
- * Fetch a random integer between $min and $max inclusive
31
- *
32
- * @param int $min
33
- * @param int $max
34
- *
35
- * @throws Exception
36
- *
37
- * @return int
38
- */
39
- function random_int($min, $max)
40
- {
41
- /**
42
- * Type and input logic checks
43
- *
44
- * If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX)
45
- * (non-inclusive), it will sanely cast it to an int. If you it's equal to
46
- * ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats
47
- * lose precision, so the <= and => operators might accidentally let a float
48
- * through.
49
- */
50
-
51
- try {
52
- $min = RandomCompat_intval($min);
53
- } catch (TypeError $ex) {
54
- throw new TypeError(
55
- 'random_int(): $min must be an integer'
56
- );
57
- }
58
 
59
- try {
60
- $max = RandomCompat_intval($max);
61
- } catch (TypeError $ex) {
62
- throw new TypeError(
63
- 'random_int(): $max must be an integer'
64
- );
65
- }
66
-
67
  /**
68
- * Now that we've verified our weak typing system has given us an integer,
69
- * let's validate the logic then we can move forward with generating random
70
- * integers along a given range.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  */
72
- if ($min > $max) {
73
- throw new Error(
74
- 'Minimum value must be less than or equal to the maximum value'
75
- );
76
- }
77
-
78
- if ($max === $min) {
79
- return $min;
80
- }
81
 
82
  /**
83
- * Initialize variables to 0
84
- *
85
- * We want to store:
86
- * $bytes => the number of random bytes we need
87
- * $mask => an integer bitmask (for use with the &) operator
88
- * so we can minimize the number of discards
 
 
89
  */
90
- $attempts = $bits = $bytes = $mask = $valueShift = 0;
91
-
92
- /**
93
- * At this point, $range is a positive number greater than 0. It might
94
- * overflow, however, if $max - $min > PHP_INT_MAX. PHP will cast it to
95
- * a float and we will lose some precision.
96
- */
97
- $range = $max - $min;
98
-
99
- /**
100
- * Test for integer overflow:
101
- */
102
- if (!is_int($range)) {
103
-
104
  /**
105
- * Still safely calculate wider ranges.
106
- * Provided by @CodesInChaos, @oittaa
107
- *
108
- * @ref https://gist.github.com/CodesInChaos/03f9ea0b58e8b2b8d435
109
- *
110
- * We use ~0 as a mask in this case because it generates all 1s
111
- *
112
- * @ref https://eval.in/400356 (32-bit)
113
- * @ref http://3v4l.org/XX9r5 (64-bit)
114
  */
115
- $bytes = PHP_INT_SIZE;
116
- $mask = ~0;
117
 
118
- } else {
 
 
 
 
 
 
119
 
120
- /**
121
- * $bits is effectively ceil(log($range, 2)) without dealing with
122
- * type juggling
123
- */
124
- while ($range > 0) {
125
- if ($bits % 8 === 0) {
126
- ++$bytes;
127
- }
128
- ++$bits;
129
- $range >>= 1;
130
- $mask = $mask << 1 | 1;
131
  }
132
- $valueShift = $min;
133
- }
134
 
135
- /**
136
- * Now that we have our parameters set up, let's begin generating
137
- * random integers until one falls between $min and $max
138
- */
139
- do {
140
  /**
141
- * The rejection probability is at most 0.5, so this corresponds
142
- * to a failure probability of 2^-128 for a working RNG
 
143
  */
144
- if ($attempts > 128) {
145
- throw new Exception(
146
- 'random_int: RNG is broken - too many rejections'
147
  );
148
  }
149
 
 
 
 
 
150
  /**
151
- * Let's grab the necessary number of random bytes
 
 
 
 
 
152
  */
153
- $randomByteString = random_bytes($bytes);
154
- if ($randomByteString === false) {
155
- throw new Exception(
156
- 'Random number generator failure'
157
- );
158
- }
159
 
160
  /**
161
- * Let's turn $randomByteString into an integer
162
- *
163
- * This uses bitwise operators (<< and |) to build an integer
164
- * out of the values extracted from ord()
165
- *
166
- * Example: [9F] | [6D] | [32] | [0C] =>
167
- * 159 + 27904 + 3276800 + 201326592 =>
168
- * 204631455
169
  */
170
- $val = 0;
171
- for ($i = 0; $i < $bytes; ++$i) {
172
- $val |= ord($randomByteString[$i]) << ($i * 8);
173
- }
174
 
175
  /**
176
- * Apply mask
177
  */
178
- $val &= $mask;
179
- $val += $valueShift;
 
 
 
 
 
 
 
 
 
 
 
 
 
180
 
181
- ++$attempts;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
182
  /**
183
- * If $val overflows to a floating point number,
184
- * ... or is larger than $max,
185
- * ... or smaller than $min,
186
- * then try again.
187
  */
188
- } while (!is_int($val) || $val > $max || $val < $min);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
189
 
190
- return (int) $val;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
191
  }
1
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
+ if (!is_callable('random_int')) {
 
 
 
 
 
 
 
4
  /**
5
+ * Random_* Compatibility Library
6
+ * for using the new PHP 7 random_* API in PHP 5 projects
7
+ *
8
+ * The MIT License (MIT)
9
+ *
10
+ * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
11
+ *
12
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ * of this software and associated documentation files (the "Software"), to deal
14
+ * in the Software without restriction, including without limitation the rights
15
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ * copies of the Software, and to permit persons to whom the Software is
17
+ * furnished to do so, subject to the following conditions:
18
+ *
19
+ * The above copyright notice and this permission notice shall be included in
20
+ * all copies or substantial portions of the Software.
21
+ *
22
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
28
+ * SOFTWARE.
29
  */
 
 
 
 
 
 
 
 
 
30
 
31
  /**
32
+ * Fetch a random integer between $min and $max inclusive
33
+ *
34
+ * @param int $min
35
+ * @param int $max
36
+ *
37
+ * @throws Exception
38
+ *
39
+ * @return int
40
  */
41
+ function random_int($min, $max)
42
+ {
 
 
 
 
 
 
 
 
 
 
 
 
43
  /**
44
+ * Type and input logic checks
45
+ *
46
+ * If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX)
47
+ * (non-inclusive), it will sanely cast it to an int. If you it's equal to
48
+ * ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats
49
+ * lose precision, so the <= and => operators might accidentally let a float
50
+ * through.
 
 
51
  */
 
 
52
 
53
+ try {
54
+ $min = RandomCompat_intval($min);
55
+ } catch (TypeError $ex) {
56
+ throw new TypeError(
57
+ 'random_int(): $min must be an integer'
58
+ );
59
+ }
60
 
61
+ try {
62
+ $max = RandomCompat_intval($max);
63
+ } catch (TypeError $ex) {
64
+ throw new TypeError(
65
+ 'random_int(): $max must be an integer'
66
+ );
 
 
 
 
 
67
  }
 
 
68
 
 
 
 
 
 
69
  /**
70
+ * Now that we've verified our weak typing system has given us an integer,
71
+ * let's validate the logic then we can move forward with generating random
72
+ * integers along a given range.
73
  */
74
+ if ($min > $max) {
75
+ throw new Error(
76
+ 'Minimum value must be less than or equal to the maximum value'
77
  );
78
  }
79
 
80
+ if ($max === $min) {
81
+ return $min;
82
+ }
83
+
84
  /**
85
+ * Initialize variables to 0
86
+ *
87
+ * We want to store:
88
+ * $bytes => the number of random bytes we need
89
+ * $mask => an integer bitmask (for use with the &) operator
90
+ * so we can minimize the number of discards
91
  */
92
+ $attempts = $bits = $bytes = $mask = $valueShift = 0;
 
 
 
 
 
93
 
94
  /**
95
+ * At this point, $range is a positive number greater than 0. It might
96
+ * overflow, however, if $max - $min > PHP_INT_MAX. PHP will cast it to
97
+ * a float and we will lose some precision.
 
 
 
 
 
98
  */
99
+ $range = $max - $min;
 
 
 
100
 
101
  /**
102
+ * Test for integer overflow:
103
  */
104
+ if (!is_int($range)) {
105
+
106
+ /**
107
+ * Still safely calculate wider ranges.
108
+ * Provided by @CodesInChaos, @oittaa
109
+ *
110
+ * @ref https://gist.github.com/CodesInChaos/03f9ea0b58e8b2b8d435
111
+ *
112
+ * We use ~0 as a mask in this case because it generates all 1s
113
+ *
114
+ * @ref https://eval.in/400356 (32-bit)
115
+ * @ref http://3v4l.org/XX9r5 (64-bit)
116
+ */
117
+ $bytes = PHP_INT_SIZE;
118
+ $mask = ~0;
119
 
120
+ } else {
121
+
122
+ /**
123
+ * $bits is effectively ceil(log($range, 2)) without dealing with
124
+ * type juggling
125
+ */
126
+ while ($range > 0) {
127
+ if ($bits % 8 === 0) {
128
+ ++$bytes;
129
+ }
130
+ ++$bits;
131
+ $range >>= 1;
132
+ $mask = $mask << 1 | 1;
133
+ }
134
+ $valueShift = $min;
135
+ }
136
+
137
+ $val = 0;
138
  /**
139
+ * Now that we have our parameters set up, let's begin generating
140
+ * random integers until one falls between $min and $max
 
 
141
  */
142
+ do {
143
+ /**
144
+ * The rejection probability is at most 0.5, so this corresponds
145
+ * to a failure probability of 2^-128 for a working RNG
146
+ */
147
+ if ($attempts > 128) {
148
+ throw new Exception(
149
+ 'random_int: RNG is broken - too many rejections'
150
+ );
151
+ }
152
+
153
+ /**
154
+ * Let's grab the necessary number of random bytes
155
+ */
156
+ $randomByteString = random_bytes($bytes);
157
 
158
+ /**
159
+ * Let's turn $randomByteString into an integer
160
+ *
161
+ * This uses bitwise operators (<< and |) to build an integer
162
+ * out of the values extracted from ord()
163
+ *
164
+ * Example: [9F] | [6D] | [32] | [0C] =>
165
+ * 159 + 27904 + 3276800 + 201326592 =>
166
+ * 204631455
167
+ */
168
+ $val &= 0;
169
+ for ($i = 0; $i < $bytes; ++$i) {
170
+ $val |= ord($randomByteString[$i]) << ($i * 8);
171
+ }
172
+
173
+ /**
174
+ * Apply mask
175
+ */
176
+ $val &= $mask;
177
+ $val += $valueShift;
178
+
179
+ ++$attempts;
180
+ /**
181
+ * If $val overflows to a floating point number,
182
+ * ... or is larger than $max,
183
+ * ... or smaller than $min,
184
+ * then try again.
185
+ */
186
+ } while (!is_int($val) || $val > $max || $val < $min);
187
+
188
+ return (int)$val;
189
+ }
190
  }
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/psalm-autoload.php ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ require_once 'lib/byte_safe_strings.php';
4
+ require_once 'lib/cast_to_int.php';
5
+ require_once 'lib/error_polyfill.php';
6
+ require_once 'other/ide_stubs/libsodium.php';
7
+ require_once 'lib/random.php';
8
+
9
+ $int = random_int(0, 65536);
lib/Ing/Services/ing-php/vendor/paragonie/random_compat/psalm.xml ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <psalm
3
+ autoloader="psalm-autoload.php"
4
+ stopOnFirstError="false"
5
+ useDocblockTypes="true"
6
+ >
7
+ <projectFiles>
8
+ <directory name="lib" />
9
+ </projectFiles>
10
+ <issueHandlers>
11
+ <InvalidOperand errorLevel="info" />
12
+ <UndefinedConstant errorLevel="info" />
13
+ <MissingReturnType errorLevel="info" />
14
+ </issueHandlers>
15
+ </psalm>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ING_PSP</name>
4
- <version>1.1.4</version>
5
  <stability>stable</stability>
6
  <license uri="https://opensource.org/licenses/MIT">The MIT License (MIT)</license>
7
  <channel>community</channel>
@@ -33,17 +33,34 @@
33
  ## Changes in version 1.1.1&#xD;
34
  + Renamed bcmc to bancontact&#xD;
35
  &#xD;
36
- ## Changes in version 1.1.3&#xD;
37
  + Small fixes&#xD;
38
  + Version synchronization&#xD;
39
- &#xD;
40
  ## Changes in version 1.1.4&#xD;
41
  + Fixed missing library folder&#xD;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
42
  </notes>
43
  <authors><author><name>ING</name><user>ING</user><email>info@ing.nl</email></author></authors>
44
- <date>2017-04-12</date>
45
- <time>15:11:21</time>
46
- <contents><target name="magecommunity"><dir name="ING"><dir name="PSP"><dir name="Block"><dir name="Payment"><dir name="Banktransfer"><file name="Form.php" hash="5bc5b26e1ab67afad556ce6ed23cfdd2"/><file name="Info.php" hash="706695bb8965e385e257d520fbe2211b"/></dir><dir name="Cashondelivery"><file name="Form.php" hash="8963d0952d097eb8dd14be055aa5a80e"/><file name="Info.php" hash="8eb90583dd519a94e7845c4a243fcba9"/></dir><dir name="Ideal"><file name="Form.php" hash="3f8d5daaffd78ad31418efa1df009860"/><file name="Info.php" hash="ddd40501d35ce66711179575aabf616b"/></dir></dir></dir><dir name="Helper"><file name="Bancontact.php" hash="ad7159d000c835ef85d59cd2bb4af156"/><file name="Banktransfer.php" hash="e5017aa6114c5453ee36679c5722bc36"/><file name="Cashondelivery.php" hash="fe20568cc1d59369f9eeb3e2f247c4a0"/><file name="Creditcard.php" hash="43fc0810fecbe6a4e436c9a584897b74"/><file name="Data.php" hash="1b9770dd0722925202fd963d90dfa6fb"/><file name="Ideal.php" hash="431370694036d59f70fd9dbfd01fc278"/></dir><dir name="Model"><file name="Bancontact.php" hash="f7a94c3ef47c904a19e399b72973269f"/><file name="Banktransfer.php" hash="1524f5a309febb5e3f6dd52125b5c77d"/><file name="Cashondelivery.php" hash="64f008fb709e04e3b528a87a881151a9"/><file name="Creditcard.php" hash="115f96f967bdba3b3fa145fc479c21c3"/><file name="Ideal.php" hash="d7698ee807612542d1e0f0b9baafc77a"/><file name="Observer.php" hash="e2fbbd6febb7f3faaaf9aba618cd63e8"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Dropdown"><file name="Values.php" hash="f156d15f14e426d3b8aa71ded7d25e92"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="BancontactController.php" hash="17a9f0637c5fbd348d7cc6c9d6801bd0"/><file name="BanktransferController.php" hash="02de64dba0d3ac2597f50878b036a747"/><file name="CashondeliveryController.php" hash="2fa672592336176215251547721c4325"/><file name="CreditcardController.php" hash="915cb293d9b788acca903a694beca6dd"/><file name="IdealController.php" hash="db0524bbdad1947d2745fee30405a071"/></dir><dir name="etc"><file name="adminhtml.xml" hash="7e89b819d4922c5caf80a5154d3abd1e"/><file name="config.xml" hash="2ecf92311ad429c568c6c97c62f07ff3"/><file name="system.xml" hash="f7d5e73bbbe1d8ed7c2c89b83ee76330"/></dir><dir name="sql"><dir name="ingpsp_setup"><file name="mysql4-install-0.0.1.php" hash="c6862d405fb070de8a4c24d0e4a02783"/><file name="mysql4-uninstall-0.0.1.php" hash="44d1114d23ffb27a8fa1fb678c0e0b15"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="f28c6d41b26e5c9012fe5d4406ff236f"/><file name="mysql4-upgrade-0.0.2-0.0.3.php" hash="da10af634b49461be876996215d647f9"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="ing_psp"><dir name="info"><file name="banktransfer.phtml" hash="da5c2e0dc378aeae9e795e0863efb692"/><file name="cashondelivery.phtml" hash="da5c2e0dc378aeae9e795e0863efb692"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="ing_psp"><dir name="form"><file name="banktransfer.phtml" hash="1e6fa77d13151d8e6c47aa496c96a214"/><file name="cashondelivery.phtml" hash="1e6fa77d13151d8e6c47aa496c96a214"/><file name="ideal.phtml" hash="ca632752fbe19da3dfd7368858fd6d9c"/></dir><dir name="info"><file name="banktransfer.phtml" hash="da5c2e0dc378aeae9e795e0863efb692"/><file name="cashondelivery.phtml" hash="da5c2e0dc378aeae9e795e0863efb692"/></dir><file name="success.phtml" hash="a5b992e7d463a57bc544d396832ea370"/></dir></dir><dir name="layout"><file name="ing_psp.xml" hash="e5dfccbdf1d770a236ab9b5b0ded2a13"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ING_PSP.xml" hash="18fe647725fd2cc50cdac430d50daf63"/></dir></target><target name="magelocale"><dir name="en_US"><file name="ING_PSP.csv" hash="54bb4994fbecf10ac2638aa4c05ba7b3"/></dir><dir name="nl_NL"><file name="ING_PSP.csv" hash="0c40afb29c628787200430bffcf0147c"/></dir></target><target name="magelib"><dir name="Ing"><dir name="Services"><dir name="ing-php"><file name="LICENSE" hash="fedae87cfce43c660ef2e8b3ab99f78a"/><file name="README.md" hash="4180a4ccc31e79059db2a9d2d7822f83"/><dir name="assets"><file name="cacert.pem" hash="f20034604452a7bdd331146cc4752bc0"/></dir><file name="composer.json" hash="bb52aa110922e71473a063377cd1a156"/><file name="composer.lock" hash="5933fa0380da29b096c9a95120f12b40"/><file name="phpunit.xml.dist" hash="f32411c3bad5ec320cab38037f7ec588"/><dir name="src"><dir name="Client"><file name="ClientException.php" hash="3d4662f6af65db7579d728c01a81db46"/><file name="OrderNotFoundException.php" hash="86b4245ea0fa359a51d718f3f89a590a"/></dir><file name="Client.php" hash="b6d341bd05b4b574515157c21978fa40"/><dir name="Common"><file name="ArrayFunctions.php" hash="6e9367c12a036f4fcb2ea49b000043a5"/><file name="ChoiceBasedValueObject.php" hash="767725a562780b071acfd4f75e609a6e"/><file name="ISO3166.php" hash="667a023a61b9557cfb7384c01257149e"/><file name="StringBasedValueObject.php" hash="70e6251436d8772d1a3f9ef5e6134590"/></dir><file name="Currency.php" hash="c88894681d49f2970addf33e1f591a36"/><file name="Fallback.php" hash="40486dddc02486c091c3e7c35f25b2b4"/><file name="Ginger.php" hash="bd1cf236bf1764abe5784ac66ef4f132"/><file name="Iban.php" hash="26b168b04a59a51fa3af0b1694905f8d"/><dir name="Ideal"><dir name="Issuer"><file name="ListType.php" hash="e8d5d9357616ab10d4e6f34172bd3d51"/><file name="Name.php" hash="2a9c9bb0ca94b14e1b96f5c849402ca0"/></dir><file name="Issuer.php" hash="7c00df3430ad4f3a748e7ff1d4d56f56"/><file name="Issuers.php" hash="0d1c323db29e00cee2cbebd043b5f645"/></dir><dir name="Order"><file name="Amount.php" hash="6494508e319326d09aa48fa250019b70"/><dir name="Customer"><file name="Address.php" hash="eaf9fffe840546d37472be85c8c97a39"/><file name="AddressType.php" hash="51fa435b0bf2a663ac66b29be566ee51"/><file name="Country.php" hash="98ad47482f5c33faebc1f2bcc910a3db"/><file name="EmailAddress.php" hash="d75a77ee3f1600caaf1f1ae2e5911be6"/><file name="FirstName.php" hash="964a31ece3a5294fd5373749ef3a355e"/><file name="Housenumber.php" hash="bbea384c40ef0c1ef40d8273750bb970"/><file name="LastName.php" hash="0b4873b87182e99bc8c7a4571b287b71"/><file name="Locale.php" hash="01db16e530ce8b7f421986b15adfa5dd"/><file name="MerchantCustomerId.php" hash="37246932cc4b1a05fed12cf5b48d8a40"/><file name="PhoneNumber.php" hash="1a1bde4c37ac20ea03b27229ea533574"/><file name="PhoneNumbers.php" hash="277255b5ade0631e34466fe079a9f7ce"/><file name="PostalCode.php" hash="8cc9991af8d3deda158816c09219bf16"/></dir><file name="Customer.php" hash="bd53e92f81e5db10d286b35102a40c18"/><file name="Description.php" hash="b580d6dc613910c364432abd853d3ed8"/><file name="Extra.php" hash="30c177b667c4741e8ec691a206f4b822"/><file name="MerchantOrderId.php" hash="8197d9b9c9f54d039e7fab7e90d0af60"/><file name="Status.php" hash="b7f24bd6bc854406c38565bee93fbabf"/><dir name="Transaction"><file name="Amount.php" hash="12386accdc019814d1d9862df5e9fd4a"/><file name="Balance.php" hash="cb7195414675ceb36fd5e2d187e04d35"/><file name="Description.php" hash="1614b631853f9ed028d391c8c3390b27"/><file name="PaymentMethod.php" hash="0605766912ec823603bf129eed3bd3e2"/><dir name="PaymentMethodDetails"><dir name="BancontactPaymentMethodDetails"><file name="SetupToken.php" hash="1c5fe4a1ca54a8fb7c574b75967d343b"/><file name="VaultToken.php" hash="790858ac58ea06e8e2b72fe5bf38e978"/></dir><file name="BancontactPaymentMethodDetails.php" hash="eb135bbb608154fdeea57defaec05f60"/><file name="CashOnDeliveryPaymentMethodDetails.php" hash="2ff970fddb1b6423c1c8fd77fbe8995c"/><file name="ConsumerName.php" hash="9624e583f2108c903278b49f46a6f451"/><file name="CreditCardPaymentMethodDetails.php" hash="775a38a9942a0c020bd30f919d503576"/><dir name="IdealPaymentMethodDetails"><file name="ConsumerAddress.php" hash="c02fa5ed9ad37f71c86d86b773853ba1"/><file name="ConsumerCity.php" hash="0b12b3d73844fe3419424d2237fbfb46"/><file name="ConsumerCountry.php" hash="341b5e529f332943247e270cb15e0d41"/><file name="Status.php" hash="443747af3cf6a9410756d4a2f92e4cd3"/><file name="TransactionId.php" hash="522505f7f26c155ea2e9100d0660513b"/></dir><file name="IdealPaymentMethodDetails.php" hash="6f3b7dd067e25bec12e6a1c7943d5c22"/><file name="PaymentMethodDetailsFactory.php" hash="303b9b70867c38251c570749aca43a38"/><file name="SepaPaymentMethodDetails.php" hash="67d80e9e027f512e0c2390af0753bc03"/><dir name="SofortPaymentMethodDetails"><file name="TransactionId.php" hash="17e077eaf3ca24bfa53d1874c7c49d3b"/></dir><file name="SofortPaymentMethodDetails.php" hash="715a1df40c7eb1ea364328db8ad25884"/></dir><file name="PaymentMethodDetails.php" hash="3e55b735b0d5afafc94cff689749e9d4"/><file name="Reason.php" hash="ee9f592c553ae6b2a23eb718796a6f1e"/><file name="Reference.php" hash="ef89f2d1d0d4f79d6c9c56cc37df3b86"/><file name="Status.php" hash="70ca673ee275bb671bde7fe45858ca57"/></dir><file name="Transaction.php" hash="b60cacb1e5bfb71f9a3e99a26cba113c"/><file name="Transactions.php" hash="1b4f0e0893edbdc613dc7fdaa8cf04aa"/></dir><file name="Order.php" hash="fc3bcfcd2eb32189a6091d14b82dc4d1"/><file name="SwiftBic.php" hash="797dcd80eb901e0b16ceed4535323edf"/><file name="Url.php" hash="6d685f3fbedef46691eb949ab99de263"/></dir><dir name="tests"><file name="ClientTest.php" hash="b47f45cea59bf795ca8d164d628be0a3"/><dir name="Common"><file name="ArrayFunctionsTest.php" hash="83d021a90e734569f407fa6fad37b8d7"/><file name="ChoiceBasedValueObjectTest.php" hash="1c7ce37503a953862fa122c844f4c4c3"/><file name="ISO3166Test.php" hash="61df8083143bebbda5f85a53cc1158a9"/><file name="StringBasedValueObjectTest.php" hash="000c71401ce38b3e4bdebfd55fdc4037"/></dir><file name="CurrencyTest.php" hash="19c4d8e7186932d2d6f03c39a2518288"/><file name="FallbackTest.php" hash="e30c6488790f2bf2f12d07d260e81175"/><file name="GingerTest.php" hash="a8cff13dbc862dc7d57366a2b8d17e4f"/><file name="IbanTest.php" hash="99b8923d2d318d09ef7a62960e5bfff6"/><dir name="Ideal"><dir name="Issuer"><file name="ListTypeTest.php" hash="069a65a3077c93651b720a2acf03bad5"/><file name="NameTest.php" hash="e00ca4a47c6a023b2072d5f5c39aafde"/></dir><file name="IssuerTest.php" hash="39feeb1955e9b3579b924e36a5f5528d"/><file name="IssuersTest.php" hash="7c1b47374296c9f13fca66da69fffdc5"/></dir><dir name="Mock"><file name="FakeChoiceBasedValueObject.php" hash="f30bc690046b9a9a23e61a5fdde11650"/><file name="FakeStringBasedValueObject.php" hash="bb9625fd213d7304f15f9e7a0fb48b39"/></dir><dir name="Order"><file name="AmountTest.php" hash="3c18b1d52b7ecef662946b642b58ffac"/><dir name="Customer"><file name="AddressTest.php" hash="ff1b4f38636fcb9b0b53a62f8303a43a"/><file name="AddressTypeTest.php" hash="aea75632d69e91a5c7e614205fcec02c"/><file name="CountryTest.php" hash="006a24a721d3d24e21223c95713a3027"/><file name="EmailAddressTest.php" hash="ab2e6359bc0eed4fcf4f3a439ced6001"/><file name="FirstNameTest.php" hash="bd238c5f1f42b3887457813cbb2643f4"/><file name="HouseNumberTest.php" hash="0926baa525dda98777f777c9e2c42b7f"/><file name="LastNameTest.php" hash="0c7781fcbe7c1da602d566b2f32f4bb0"/><file name="LocaleTest.php" hash="d8e116106dd1d22a61558e49dccb5d94"/><file name="MerchantCustomerIdTest.php" hash="c2795d65135a0b3698c7ef040c121d5e"/><file name="PhoneNumberTest.php" hash="b041b8d1403a9354b578e908856260f9"/><file name="PhoneNumbersTest.php" hash="5db97ef630077275d543b731d02a2583"/><file name="PostalCodeTest.php" hash="d81229a21b80aa968f2326c05ae68b94"/></dir><file name="CustomerTest.php" hash="30f7db8fe3c13b015542be2e3172e60f"/><file name="DescriptionTest.php" hash="c8e67540574645435c9633e820b2fcea"/><file name="ExtraTest.php" hash="180afc016ea045b410294b457669180d"/><file name="MerchantOrderIdTest.php" hash="56f74fff2d763665dc671051da39f0ed"/><file name="StatusTest.php" hash="633c275d9cacde3044d3c2f6e12f64c7"/><dir name="Transaction"><file name="AmountTest.php" hash="9c9358c2655c439541ed8bc3300a7025"/><file name="BalanceTest.php" hash="d9ebb1d889cc8b762354603bd953102d"/><file name="DescriptionTest.php" hash="a85862756701f88b9a53f1bc5b088077"/><dir name="PaymentMethodDetails"><dir name="BancontactPaymentMethodDetails"><file name="SetupTokenTest.php" hash="0309ef82847327432085a234457132d5"/><file name="VaultTokenTest.php" hash="9f747c14d5351837f26d69814e34fea5"/></dir><file name="ConsumerNameTest.php" hash="4a0f8c66440b8f9e759af2079cf5b4a3"/><file name="CreditCardPaymentMethodDetailsTest.php" hash="819f5ece20ac251ffd8d38a87a154067"/><dir name="IdealPaymentMethodDetails"><file name="ConsumerCityTest.php" hash="b17364c543447ef5900a853f868a15e1"/><file name="StatusTest.php" hash="704cd68cb6dd00b4542fe1097f06685c"/><file name="TransactionIdTest.php" hash="3c61bc9fe23a4e071f018065649146b6"/></dir><file name="IdealPaymentMethodDetailsTest.php" hash="589ca806f6f967a54ef4cd751291ffc1"/><file name="PaymentMethodDetailsFactoryTest.php" hash="a8aa255c22544bf13c9698bec8f41c6a"/><file name="SepaPaymentMethodDetailsTest.php" hash="6130f870009e34fc8d8640a6884c69fd"/><dir name="SofortPaymentMethodDetails"><file name="TransactionIdTest.php" hash="c9821234570959be7c191ccb677a659b"/></dir><file name="SofortPaymentMethodDetailsTest.php" hash="eec644fb7b7833d4b36e819fcff1c3d6"/></dir><file name="PaymentMethodTest.php" hash="179ce2dcd497f3211e567a97fddeceef"/><file name="ReasonTest.php" hash="471d21ce3eda2f61ffd83175743a4370"/><file name="ReferenceTest.php" hash="1c3c0e5dc77049dc2e125b21bed95571"/><file name="StatusTest.php" hash="8469cfe2f0451e7b13fc6800a237fc06"/></dir><file name="TransactionTest.php" hash="265c3be517d4b0c31e04c4cc58f34cbd"/><file name="TransactionsTest.php" hash="43afdcaccc60c222442f949c783f9044"/></dir><file name="OrderTest.php" hash="9dc7b9216f9b2efa0ad3823f9d5e3337"/><file name="SwiftBicTest.php" hash="f4668a41cbf056c5baefaf0227c2bb0e"/><file name="UrlTest.php" hash="66ea6f9a31d43c01755b25b93edc20c4"/></dir><dir name="vendor"><dir name="alcohol"><dir name="iso3166"><file name="ISO3166.php" hash="aa81cf0f5296938ef20e112e7b4f4693"/><file name="ISO3166Test.php" hash="9697fc6b47178428a59a24070c5190ea"/><file name="LICENSE" hash="822f444cbf3bcac7d7f2fe0ead0a0a55"/><file name="composer.json" hash="7c538c51f28d0a2ba28a1d4302ca8f66"/><file name="phpunit.xml.dist" hash="89876ca642d837fa8daf146d0957a2ac"/></dir></dir><file name="autoload.php" hash="13597f688433481720b7cc55ff81a186"/><dir name="beberlei"><dir name="assert"><file name="composer.json" hash="77869933cd85efa383ca363edc5e4bf3"/><dir name="lib"><dir name="Assert"><file name="Assertion.php" hash="21ae408bdc50294af67d7b9f64bdb997"/><file name="AssertionChain.php" hash="e60ff0303eeceb815dd0bf1a54c2ff89"/><file name="AssertionFailedException.php" hash="724f34754387eecfff51fcd15f6d5ee9"/><file name="InvalidArgumentException.php" hash="50f56784801fffa893659406fa223400"/><file name="LazyAssertion.php" hash="dfaf884b4f9e138c09719209d1733753"/><file name="LazyAssertionException.php" hash="483bfff7a6dc1142ec1cdbba6ad09acc"/><file name="functions.php" hash="a9b734d21c05b88fbf50051c375187bc"/></dir></dir><file name=".php_cs" hash="854be294cba3dbb331cd9dd35f6658f1"/></dir></dir><dir name="bin"><file name="phpcbf" hash="266a1b90c2fdbb903a292d443ead6b5a"/><file name="phpcs" hash="8d4abac4c3d748a5d6cc44bb214a19a0"/><file name="phpunit" hash="a0a409545298664e3123f29654d4e350"/><file name="uuid" hash="ce1fc89843965f6a79b138d9abd549bb"/></dir><dir name="composer"><file name="ClassLoader.php" hash="bf6c4758ae060fd8f3e3a88e6c24ac3c"/><file name="LICENSE" hash="9b01fc9e0129adc080344653fbcbbc0f"/><file name="autoload_classmap.php" hash="5c7e69dbfc13698fd03c9ebd036364ac"/><file name="autoload_files.php" hash="f1b2e4f10675fcb7c76f61c214936815"/><file name="autoload_namespaces.php" hash="bf68130fbea56ecaee0e8f0f861151dd"/><file name="autoload_psr4.php" hash="c995d3a5ab737ff2b12385b2b4bc23d5"/><file name="autoload_real.php" hash="94622f7592c66cc7fbc27589e5c99f06"/><file name="autoload_static.php" hash="c92ae39defc5105304907cc2c2a37fb9"/><file name="installed.json" hash="6184614adfa2d9ccb603471976d3dbae"/></dir><dir name="doctrine"><dir name="instantiator"><file name="CONTRIBUTING.md" hash="cd27404e6ef5f16f527f86ee4cce6cc2"/><file name="LICENSE" hash="5129d172ff39ba8552667462c1ae9eee"/><file name="README.md" hash="203712290e0ed73ebc5ffd3a5d18ea27"/><file name="composer.json" hash="ffe535a074206a24cd60dbcf398cc0fc"/><file name="phpmd.xml.dist" hash="e2a7452cb0d9e1a3507e133773c14b3f"/><file name="phpunit.xml.dist" hash="a9df85d69657a89561c27122809f530d"/><dir name="src"><dir name="Doctrine"><dir name="Instantiator"><dir name="Exception"><file name="ExceptionInterface.php" hash="84ad24a17513e05bf401c66444cc71bd"/><file name="InvalidArgumentException.php" hash="742702056447aaef18b421465bec90c4"/><file name="UnexpectedValueException.php" hash="106a3afd02321d3ceac76f7093eebc72"/></dir><file name="Instantiator.php" hash="b471e9766e58011c7c53e5841ca6f536"/><file name="InstantiatorInterface.php" hash="e64f01113543f94d70f52cf68c0fb31d"/></dir></dir></dir><dir name="tests"><dir name="DoctrineTest"><dir name="InstantiatorPerformance"><file name="InstantiatorPerformanceEvent.php" hash="9e4a696bddafc38140e3999d1ff90b6c"/></dir><dir name="InstantiatorTest"><dir name="Exception"><file name="InvalidArgumentExceptionTest.php" hash="e968500e29d73f48f6edc75226520e7e"/><file name="UnexpectedValueExceptionTest.php" hash="cac7b001b3055008f5b822d435948857"/></dir><file name="InstantiatorTest.php" hash="9a233cb7c4591ed8b9de4b1ded86bc2b"/></dir><dir name="InstantiatorTestAsset"><file name="AbstractClassAsset.php" hash="9cf3ad170032ebe5b0a181b68b325c16"/><file name="ArrayObjectAsset.php" hash="b8b317463e96644974ff54feb34811c7"/><file name="ExceptionAsset.php" hash="8586be22617a057732bc47289483bf4f"/><file name="FinalExceptionAsset.php" hash="6f89c841d426f406725957cef0ac737b"/><file name="PharAsset.php" hash="b116a3a413543379fc2d39b7ffd3f35d"/><file name="PharExceptionAsset.php" hash="6a6e5735f1d499a45b7b1f18bc0aee82"/><file name="SerializableArrayObjectAsset.php" hash="41997bb9a9020dfe6b56a3ed55429723"/><file name="SimpleSerializableAsset.php" hash="aab2b889df9d2547d9ba953523215c19"/><file name="SimpleTraitAsset.php" hash="90f91f23568a1b63976636e6cd4360fa"/><file name="UnCloneableAsset.php" hash="9c22bc15f90bf454d99610a3ee2db51f"/><file name="UnserializeExceptionArrayObjectAsset.php" hash="7d588a23cdd439af61dd0f1daa8e2e5d"/><file name="WakeUpNoticesAsset.php" hash="800237f5f1caa0419ae8c4300b3afc47"/><file name="XMLReaderAsset.php" hash="74b4c88f0138319d3fe2e8912ffad4a5"/></dir></dir></dir><file name=".gitignore" hash="b72e2fc9bdf095edeb22e448b73adb3c"/><file name=".scrutinizer.yml" hash="218a0825aefed54c12e8f93d71ea355e"/><file name=".travis.yml" hash="e4d8ee80b845a0bb7e4f41c917e9564b"/></dir></dir><dir name="guzzlehttp"><dir name="guzzle"><file name="CHANGELOG.md" hash="7562a172db610369eeb02228779d8fa8"/><file name="LICENSE" hash="e3263ef900341e9a81daaba91bbfd23a"/><file name="README.md" hash="d1df21412e1e3a6dd1d2d5b796db9be7"/><file name="UPGRADING.md" hash="8d0d9048e11ed2b5e79b1ad86db91d48"/><file name="composer.json" hash="90d112012751a6f48802b148a6470344"/><dir name="src"><file name="BatchResults.php" hash="9601ffcd97c39a60ccb6d14bb008bbb3"/><file name="Client.php" hash="8eacd1e457fb07212bf9002a4537f832"/><file name="ClientInterface.php" hash="ccaa707d2338e69c1fffa432b2514eee"/><file name="Collection.php" hash="431f847865c9621f926b35f91a85dd2c"/><dir name="Cookie"><file name="CookieJar.php" hash="2981ed1414b29b66426eece64865c3ab"/><file name="CookieJarInterface.php" hash="51fd9da76a30957b484296f452c1da42"/><file name="FileCookieJar.php" hash="4aa9c86927b79cf2d978253e0410fb78"/><file name="SessionCookieJar.php" hash="b6c5adee6743072b733a8f3dba43761b"/><file name="SetCookie.php" hash="00db8c8eb2182fddf8afadaaaff20460"/></dir><dir name="Event"><file name="AbstractEvent.php" hash="ce6fb61cd25791ac865d4e84cd9759fd"/><file name="AbstractRequestEvent.php" hash="b18f06f7d9c95a0cc3ef99fdbf4dc203"/><file name="AbstractRetryableEvent.php" hash="2d170945ffa71a89f384ec58078e0c19"/><file name="AbstractTransferEvent.php" hash="89813f179d9cd109a17bebc28494d773"/><file name="BeforeEvent.php" hash="f2cd9a9ac1070b718540129f5909402e"/><file name="CompleteEvent.php" hash="a2b9b8e1e58f198601c22a7f2708b2c1"/><file name="Emitter.php" hash="d86764de09816c66ddbb1543bccb766f"/><file name="EmitterInterface.php" hash="50d4ccf2a59c4d70b6134873f6934c6e"/><file name="EndEvent.php" hash="1f076fa17483b2dd92098023e78069b6"/><file name="ErrorEvent.php" hash="9d0eaa82626bccaffac0a5f978c13fd8"/><file name="EventInterface.php" hash="2cf7086b80fad54dd9fb1bd66bd3af95"/><file name="HasEmitterInterface.php" hash="aca299bf20f91968a149cb89e117ddc9"/><file name="HasEmitterTrait.php" hash="fceb27761c90d7704cfc2e7ab31651b0"/><file name="ListenerAttacherTrait.php" hash="e71a23d493f4af08228d061dab2ee118"/><file name="ProgressEvent.php" hash="92e78daf64260f604add6dc7ae6b1c4c"/><file name="RequestEvents.php" hash="21dcaf3d461607486b356042032ac74d"/><file name="SubscriberInterface.php" hash="399edbac1d85763544dc54c597194345"/></dir><dir name="Exception"><file name="BadResponseException.php" hash="5d502016856c146aa47d0bbed5106ee1"/><file name="ClientException.php" hash="d1c7f54a71cb105131c0c22b20619bcb"/><file name="ConnectException.php" hash="9ff38d10d12832a15172c72c086143a4"/><file name="CouldNotRewindStreamException.php" hash="d73abf147478558ed008bbffe9985780"/><file name="ParseException.php" hash="4cc7b783e1a68628a7a85f2ad163e775"/><file name="RequestException.php" hash="583ee428fc5aed66ee3b68d05acd967d"/><file name="ServerException.php" hash="36ecb7a8e416e9633b10e677fa5a639e"/><file name="StateException.php" hash="7ed449728b670500dcbde0fad3d2c0c8"/><file name="TooManyRedirectsException.php" hash="9952c5877077fad22bed15fbe04a1ca7"/><file name="TransferException.php" hash="42ffaf70cff001e7b0cfc42ce2e8f8dd"/><file name="XmlParseException.php" hash="77d95d8fa4fb670b348f9c0318a6e107"/></dir><file name="HasDataTrait.php" hash="fb294d4af626e5dd9cf4dec0a146ba0b"/><dir name="Message"><file name="AbstractMessage.php" hash="4816a8fe7b070c4bedd5dbf6d5e218e5"/><file name="AppliesHeadersInterface.php" hash="8e21471c8384c82f9953a5f35a8c1aad"/><file name="FutureResponse.php" hash="f272567b867f4ac209dd6c92eaf19056"/><file name="MessageFactory.php" hash="0091dc5a0f6166706011517423ce3671"/><file name="MessageFactoryInterface.php" hash="72c981182dc3381da7e1d764745fb50f"/><file name="MessageInterface.php" hash="396bfc61fe4cebb62fa47524c772b513"/><file name="MessageParser.php" hash="a73a7ad08d219ccbd98679a31328d249"/><file name="Request.php" hash="69893f14e5f063861b7a9229cde5d741"/><file name="RequestInterface.php" hash="375992a94f5e9926801bff04d9a97c33"/><file name="Response.php" hash="a5fafa750b85c8bfc94c8ecf22d33fef"/><file name="ResponseInterface.php" hash="650349ea50ba9118c92e34fa95ff7e27"/></dir><file name="Mimetypes.php" hash="98c49c56940197e757af27bb7e13a89b"/><file name="Pool.php" hash="324bd717b59e8aab19b6047b5715e04f"/><dir name="Post"><file name="MultipartBody.php" hash="f33a49bd4efe5ea4685365600bd383d7"/><file name="PostBody.php" hash="bb0f2cf36086a5ab8c83907468472d7f"/><file name="PostBodyInterface.php" hash="6b2f4ea74647a3b5c122366b50fd4931"/><file name="PostFile.php" hash="855721b2dd955fab148b96f609d66349"/><file name="PostFileInterface.php" hash="125d790f2656efe2005a46d98bbf9ccd"/></dir><file name="Query.php" hash="87ec30bde4145bb5086b0f905a37acc7"/><file name="QueryParser.php" hash="e756aae39877cf8137a7d61731a96c5b"/><file name="RequestFsm.php" hash="53643f146ac4a8af437f985b56537cf3"/><file name="RingBridge.php" hash="f5a096b469ac183996a00ccbe59d2ff1"/><dir name="Subscriber"><file name="Cookie.php" hash="9da9bde856192c9588ba7288508fe57c"/><file name="History.php" hash="0b69411a23222125a63b1168e872e7d1"/><file name="HttpError.php" hash="54881525a1132d20b9c94d2263c74c3c"/><file name="Mock.php" hash="7e03e626b83424724aae8e3a6aaaac4a"/><file name="Prepare.php" hash="ea2f4fad216b1050c6bc69c6c9de28a6"/><file name="Redirect.php" hash="5937a24086742fe1d71f70632cf74626"/></dir><file name="ToArrayInterface.php" hash="d6f685d05271786954881729ea03acdf"/><file name="Transaction.php" hash="4b09f99ae5c89731dd0ded5c7e270fce"/><file name="UriTemplate.php" hash="d1eb1c8d5d8e952ec5ebc5ec229ebd8b"/><file name="Url.php" hash="5aedbcee0366876653ff7740928d0b7b"/><file name="Utils.php" hash="7bfdfed1cfceac8fb74825e2e7d58ca2"/></dir><file name=".travis.yml" hash="fc89cdb2bffb45541e0ab0eaa564b136"/></dir><dir name="ringphp"><file name="CHANGELOG.md" hash="799347e9b288e0be8ea32f1a1abf8267"/><file name="LICENSE" hash="f9ddfabead2127b089fa60b1cf462ad7"/><file name="Makefile" hash="a17b9a1407c7959a90868c31f61e71f4"/><file name="README.rst" hash="e7a3f00179cfb4b0feee9f88b85e9fe9"/><file name="composer.json" hash="68665e93d1453df2865ed80265fff1ba"/><dir name="docs"><file name="Makefile" hash="777df5c7fafb2d6bfcb3c802e84adc3a"/><file name="client_handlers.rst" hash="6ca3e9e513f571032762133d8a162471"/><file name="client_middleware.rst" hash="681214a7d675a62a5ef3b86acfe37a20"/><file name="conf.py" hash="9f2affce54bd7d8c9a9007b59fc763e0"/><file name="futures.rst" hash="34a204df5751b48199926211066729eb"/><file name="index.rst" hash="a3671abf15c984498720c8899bb08394"/><file name="requirements.txt" hash="baa676171a96a28c1393d91384b1b7ef"/><file name="spec.rst" hash="a01eb587edb3e5114007cad16d235e02"/><file name="testing.rst" hash="6413148aac13954f10afe9f49312710d"/></dir><file name="phpunit.xml.dist" hash="a08ade01ef087db50589d228bb9eb420"/><dir name="src"><dir name="Client"><file name="ClientUtils.php" hash="0287d3512ac65d1f8e278e219274c847"/><file name="CurlFactory.php" hash="f909fb13038da4267441077c7b794500"/><file name="CurlHandler.php" hash="85e6686ed0f84679fc7e4f851c268b63"/><file name="CurlMultiHandler.php" hash="fc5c927d9981a88d28ec6071c437bfbf"/><file name="Middleware.php" hash="10b4e00d41ae53ab744c3df441813175"/><file name="MockHandler.php" hash="d9b3b00bd2e611076fb26f6706c6210c"/><file name="StreamHandler.php" hash="f7d46f8fe620052a8d45b454c42cedc0"/></dir><file name="Core.php" hash="f658655aef2402084df1ae4f1fe426aa"/><dir name="Exception"><file name="CancelledException.php" hash="b520e10d3139675532606f2a0334cca7"/><file name="CancelledFutureAccessException.php" hash="fa44e44ab519317596c0790a65d7bf38"/><file name="ConnectException.php" hash="de603e26f57a49cd5e4eab10e1686f15"/><file name="RingException.php" hash="965eeeb09364f0e0da13d094eefb4be3"/></dir><dir name="Future"><file name="BaseFutureTrait.php" hash="718e41c2d5cef401149c20ca371ad424"/><file name="CompletedFutureArray.php" hash="2ac2ca1892020c4608f2435fd0ebccd5"/><file name="CompletedFutureValue.php" hash="3c6ebdc379ed9af49fc185dd3d37c210"/><file name="FutureArray.php" hash="7f9b892d14899e73e491389c48301d4a"/><file name="FutureArrayInterface.php" hash="4871442a53bd711d89ac9823ee0d8df9"/><file name="FutureInterface.php" hash="eb26d9d532221a1425a8fac2aad96a9e"/><file name="FutureValue.php" hash="be5e06025b123a0d8a9acb8198c2f936"/><file name="MagicFutureTrait.php" hash="94f71a67eebbeaf6f85f778b73ae931d"/></dir></dir><dir name="tests"><dir name="Client"><file name="CurlFactoryTest.php" hash="acaa0fec3dcbc3128b80e020340ac669"/><file name="CurlHandlerTest.php" hash="21ec6983ba2f120240b61e9ab428198d"/><file name="CurlMultiHandlerTest.php" hash="06596c64487027c651f33b797e12a2f6"/><file name="MiddlewareTest.php" hash="100c93dbc7a3053493a42e3e42a244a5"/><file name="MockHandlerTest.php" hash="38eee76c7a84144938ad6704f87d805e"/><file name="Server.php" hash="fa6f211ad34231d3db7bd09a65e20669"/><file name="StreamHandlerTest.php" hash="29e30c9dbdd9728b000494d651e135cb"/><file name="server.js" hash="88d159b78be1b7fa9212209d4d38aef3"/></dir><file name="CoreTest.php" hash="5f7dca3a73b8831f4465fe8dab669118"/><dir name="Future"><file name="CompletedFutureArrayTest.php" hash="700f902ea1cce7e9001d01568ed581d8"/><file name="CompletedFutureValueTest.php" hash="f0f0fbd1dd1c4ac7c200cac5254f6cf8"/><file name="FutureArrayTest.php" hash="faa49dcfb801b774d54ee6c086011614"/><file name="FutureValueTest.php" hash="e7c40a1fd52bb1a58aaad00c8705b37f"/></dir><file name="bootstrap.php" hash="2b4a9ef0805593b41fc90c937437c53d"/></dir><file name=".gitignore" hash="2eb59fa71b9af27e9490e3f48045826d"/><file name=".travis.yml" hash="efa3829190500a4d0da1a423497a5cbe"/></dir><dir name="streams"><file name="CHANGELOG.rst" hash="4752dfe3eab49192fde530a2c2cdb4fe"/><file name="LICENSE" hash="f9ddfabead2127b089fa60b1cf462ad7"/><file name="Makefile" hash="648bf3b1ee188fe82ff842fbf8703ce6"/><file name="README.rst" hash="3e6fd1afbf41950f151ec71a248852ea"/><file name="composer.json" hash="b1a7224ca7d3dc8822599053a986ecb7"/><file name="phpunit.xml.dist" hash="2c20ff733adcdbfc654d37cd863c62a1"/><dir name="src"><file name="AppendStream.php" hash="6058885102fd00fb17b3ba541631bd07"/><file name="AsyncReadStream.php" hash="357a76d042d9f3e7aec1062f6e3a80d2"/><file name="BufferStream.php" hash="87ddb692697c7708e20e1145e7a63911"/><file name="CachingStream.php" hash="6fe89b215a313c235b9239e52378180b"/><file name="DroppingStream.php" hash="44a9450100c8a5f85f3b95563417ccf5"/><dir name="Exception"><file name="CannotAttachException.php" hash="ab4352ccfc2468697a1a86945bbdd1c8"/><file name="SeekException.php" hash="68575bcb6ba2622232ffe7e65450b165"/></dir><file name="FnStream.php" hash="d4bf7cd1da1124cf8c5a561cecdc5059"/><file name="GuzzleStreamWrapper.php" hash="048a82bcb138568e0bbbceaf5f886716"/><file name="InflateStream.php" hash="788a139a27c18d6bd886159e8ef8c10e"/><file name="LazyOpenStream.php" hash="2424456087e77c0cdf3ba02de4f15e9c"/><file name="LimitStream.php" hash="e2a9332833d878494ed30fb3d9f2b8a3"/><file name="MetadataStreamInterface.php" hash="802f0231c068d9f085f3c8653bb926d1"/><file name="NoSeekStream.php" hash="a35f7ea68c23cab4d246f7a2a0edcbe9"/><file name="NullStream.php" hash="a0b4395fc529242d414dd578c4c6f980"/><file name="PumpStream.php" hash="bb422e1161cc1ccf89951fea853f135a"/><file name="Stream.php" hash="f6efbdb369652e6351c8e837febe1795"/><file name="StreamDecoratorTrait.php" hash="775c6b0b12cec849cd1be3bab364006a"/><file name="StreamInterface.php" hash="4ed5919e395f7e4c568e600c800f378d"/><file name="Utils.php" hash="5ee03fd3c0c37082efab7dc213c9f455"/></dir><dir name="tests"><file name="AppendStreamTest.php" hash="7c1d5b1fd981a895240c532a3388cadd"/><file name="AsyncReadStreamTest.php" hash="3cf24da24619f99afd5361953a87a0c9"/><file name="BufferStreamTest.php" hash="e1dff59b71a28ca18f2bf64d88160f8e"/><file name="CachingStreamTest.php" hash="8857ec65fa6e1733a835d1bdecadf0df"/><file name="DroppingStreamTest.php" hash="cb27027850b6b6b87764e716f18568fc"/><dir name="Exception"><file name="SeekExceptionTest.php" hash="2396902960ff0282591d51fd5d40c2df"/></dir><file name="FnStreamTest.php" hash="10285ef01d4cdde83ee80b6132f05a30"/><file name="GuzzleStreamWrapperTest.php" hash="c3f6afb7e215827d5c02cc7ccb4a1848"/><file name="InflateStreamTest.php" hash="b34cbead206f2c39af9735299732b0c5"/><file name="LazyOpenStreamTest.php" hash="794d1631cdf4970a0e69d6ec18290b8a"/><file name="LimitStreamTest.php" hash="66aa7cda081a9d98b8520f942d8f959c"/><file name="NoSeekStreamTest.php" hash="23e203dceb9d70b248d9c3ff5a7aa19b"/><file name="NullStreamTest.php" hash="667a01a596537fe1743ccc237e29cb61"/><file name="PumpStreamTest.php" hash="4cfac47d1911e456bb024913883d675e"/><file name="StreamDecoratorTraitTest.php" hash="0a5247c33b45fd37eb6d4582fd33560e"/><file name="StreamTest.php" hash="a9651186306c293533de2c7d9575f23b"/><file name="UtilsTest.php" hash="f137bb850134805b09794ce79423d9ad"/></dir><file name=".gitignore" hash="af19642b4a44a0330a47893c52d33a78"/><file name=".travis.yml" hash="2559fbe72dc387ede606879bedf4a420"/></dir></dir><dir name="hamcrest"><dir name="hamcrest-php"><file name="CHANGES.txt" hash="2be7a631edc5691639952515b30c254a"/><file name="LICENSE.txt" hash="0706dd2f96639ccb4dd976e10c481c3a"/><file name="README.md" hash="1e595cfda31c16106670a2a1e9cd7421"/><file name="TODO.txt" hash="0b800d6ded2a0c085ab5b2e756044954"/><file name="composer.json" hash="ce47e99bbba9373399ba6be177a6a3d1"/><dir name="generator"><file name="FactoryCall.php" hash="09c4ac4049be5a36ace3971fa9d625a2"/><file name="FactoryClass.php" hash="224b2b139ed2c101c824554dbf8ef76f"/><file name="FactoryFile.php" hash="a4c76703512f16a3b0103241347960d4"/><file name="FactoryGenerator.php" hash="5b877e58817974a0c8943e4053841c86"/><file name="FactoryMethod.php" hash="55b50b5b5570edfc99dc64fba0e22604"/><file name="FactoryParameter.php" hash="511959cb6b62604f525a70dc6b3ef3f2"/><file name="GlobalFunctionFile.php" hash="610d3aaec2e046dd79966e7ad688ca3d"/><file name="StaticMethodFile.php" hash="aaebd2c29d870bd8dee2cd2047717c92"/><dir name="parts"><file name="file_header.txt" hash="466f1587a35faa9a9542ab1316203f6d"/><file name="functions_footer.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="functions_header.txt" hash="fda9d086a50a98662905f59ef352efba"/><file name="functions_imports.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="matchers_footer.txt" hash="7d9d25f71cb8a5aba86202540a20d405"/><file name="matchers_header.txt" hash="3277ca55491de1132c608c1dec4b62cb"/><file name="matchers_imports.txt" hash="720a61240776e7b00abbafec76e0869c"/></dir><file name="run.php" hash="e61f797371bab1cbae440eb04138a214"/></dir><dir name="hamcrest"><dir name="Hamcrest"><dir name="Arrays"><file name="IsArray.php" hash="046e22c3011bdfcb133543335e7abd93"/><file name="IsArrayContaining.php" hash="459cd105fa96e5341f45904aaeb56598"/><file name="IsArrayContainingInAnyOrder.php" hash="2cef4abcc5ab97b3df0046520a7d6e7f"/><file name="IsArrayContainingInOrder.php" hash="65d246bf40dc04a79f9004bf0035fa54"/><file name="IsArrayContainingKey.php" hash="7597fa5846419082989d30e9edb26172"/><file name="IsArrayContainingKeyValuePair.php" hash="6a52d13a939539499f49fe337775865f"/><file name="IsArrayWithSize.php" hash="d7a69cc47d9439c1800148689ac453a8"/><file name="MatchingOnce.php" hash="9d3fb3a27b647938f8cf8e524f27e810"/><file name="SeriesMatchingOnce.php" hash="7d8748961eeed62f41d6c1b5ed904a65"/></dir><file name="AssertionError.php" hash="541cb27db2e80ca345ceed60ccbbe964"/><file name="BaseDescription.php" hash="9db3f61686a6a8d347539b6bd72e0f7c"/><file name="BaseMatcher.php" hash="0797e7dccea86ae1d711b546366b6615"/><dir name="Collection"><file name="IsEmptyTraversable.php" hash="0bb21c30cd83309df3b1760a42db329a"/><file name="IsTraversableWithSize.php" hash="82f5bc7bbcf5c8d414d5c5df513021f0"/></dir><dir name="Core"><file name="AllOf.php" hash="9c0556b04ecc5234554cb88d246693fe"/><file name="AnyOf.php" hash="0283e8bb1066c0a7778597dba3abd5a5"/><file name="CombinableMatcher.php" hash="7ed5c880e855cd933cd67269c632fdf0"/><file name="DescribedAs.php" hash="b9610b3fb9c958af5bd00b209bbea614"/><file name="Every.php" hash="8da51054a51c43aa6a47db74dabefc35"/><file name="HasToString.php" hash="737b4c8251818024479ad0f3a62d4db6"/><file name="Is.php" hash="be44451c55aecbbaf31eca4b228ef4fb"/><file name="IsAnything.php" hash="e821f460fc35f380ef4b724cb31b49c5"/><file name="IsCollectionContaining.php" hash="1e0c1ddb4678e89c70350ab640c63dca"/><file name="IsEqual.php" hash="893b1ca47257504a31a10671017e2000"/><file name="IsIdentical.php" hash="f7f75b9f9c03d59a7c03dfda5e46ea92"/><file name="IsInstanceOf.php" hash="cde6c79e5805ac0ec205265bf3bf3ad8"/><file name="IsNot.php" hash="4dc8a0cdb009c02cfe145e14b05e156f"/><file name="IsNull.php" hash="b55bb705cf9b70f21e74a14c9f83a25d"/><file name="IsSame.php" hash="a6d99e987db8d27a1b8f59d4eab9d00d"/><file name="IsTypeOf.php" hash="0abbe02d11311a257a142d5c34bf5d1a"/><file name="Set.php" hash="1866123e2a1bc78afa9247f517f6f23c"/><file name="ShortcutCombination.php" hash="2913d33a8d21aa7b6c7e13713438bfd2"/></dir><file name="Description.php" hash="8edfb853ea7dd39fb2e38305cdb6f44f"/><file name="DiagnosingMatcher.php" hash="5637a65b838aa51675d25cafe83f5dd4"/><file name="FeatureMatcher.php" hash="53b4ac56e7d5be0945e37e601877f9da"/><dir name="Internal"><file name="SelfDescribingValue.php" hash="d888248b9598d094a8357c65ffa895cc"/></dir><file name="Matcher.php" hash="f5389c1ee1cddf23568ff8bc1ef50be4"/><file name="MatcherAssert.php" hash="b5def06e63348b17ab324ac95a53c456"/><file name="Matchers.php" hash="032eaf0369c1b26eff4ea0d606e81977"/><file name="NullDescription.php" hash="0ef1987e6a3dc564c272b7477dd6e9af"/><dir name="Number"><file name="IsCloseTo.php" hash="b4c7d1edeb67683b9faa78ff3ef5ef03"/><file name="OrderingComparison.php" hash="8e4bcb07bd3435b2ea6f1d70d51ad933"/></dir><file name="SelfDescribing.php" hash="99486d31499627db6f49b1511b661643"/><file name="StringDescription.php" hash="1d2aa097d509696d1b7665155391b819"/><dir name="Text"><file name="IsEmptyString.php" hash="a72fda44856af00c02f95064fd78cb82"/><file name="IsEqualIgnoringCase.php" hash="998ac12cfe2010c4fcd1ec36d60c7253"/><file name="IsEqualIgnoringWhiteSpace.php" hash="953cbcf82c79606a33462182972d8823"/><file name="MatchesPattern.php" hash="072bbb93d97cb03e34470e22902a264a"/><file name="StringContains.php" hash="973259ba4c021bc98b01bd56956e3b73"/><file name="StringContainsIgnoringCase.php" hash="019c23b88729ef68f0bec489aaae9fa3"/><file name="StringContainsInOrder.php" hash="ea524e541ad9d95127e7e33eafa568a4"/><file name="StringEndsWith.php" hash="98d7c9b5aa5489d079edab83cdb5d480"/><file name="StringStartsWith.php" hash="780309eee10dc8bf8a9196a27cd7583c"/><file name="SubstringMatcher.php" hash="8701209c8a1f9bf3a0160674e686c048"/></dir><dir name="Type"><file name="IsArray.php" hash="1212492b86af0b0e79909fbb52c0df42"/><file name="IsBoolean.php" hash="8c7e6d83a981c1ae716721d6be60f661"/><file name="IsCallable.php" hash="2dfb35016ebad21e80fe93119c9791cf"/><file name="IsDouble.php" hash="f839fd886cb2108d031435e570a295a8"/><file name="IsInteger.php" hash="bf985ca105fc94f86536b2198c6b8a91"/><file name="IsNumeric.php" hash="4cccd7127f066a14256d0d913fdc4a1d"/><file name="IsObject.php" hash="59c048eaaf8c0f98b754cb180bc1de77"/><file name="IsResource.php" hash="84e2d12541cbca3e4a8bd7897e86352e"/><file name="IsScalar.php" hash="3d1d3a3f008ec21000b465ebb3aceb0f"/><file name="IsString.php" hash="a2afea0e570750e5409ba595020f39a3"/></dir><file name="TypeSafeDiagnosingMatcher.php" hash="2599dc9cb3ae8dffe2e77c67550d9f72"/><file name="TypeSafeMatcher.php" hash="e417f10439bb17bfd06c2a20d4acd20a"/><file name="Util.php" hash="61d9357d163ad73a7d4ca0f4e6f2ccfc"/><dir name="Xml"><file name="HasXPath.php" hash="20f40cf5a545f397a4b092cd5c37758d"/></dir></dir><file name="Hamcrest.php" hash="5eecc5a177f6b8937266e2bdbeb06ecd"/></dir><dir name="tests"><dir name="Hamcrest"><file name="AbstractMatcherTest.php" hash="516bdf5d779f7ef19d7efc6caec45f50"/><dir name="Array"><file name="IsArrayContainingInAnyOrderTest.php" hash="089ff675ee6e861640df7027f6303890"/><file name="IsArrayContainingInOrderTest.php" hash="5d28e1a05246b062b98cf5694485f68e"/><file name="IsArrayContainingKeyTest.php" hash="fa75835a89d703842e679b2cc58f9fa8"/><file name="IsArrayContainingKeyValuePairTest.php" hash="c220a8d387c0b5808ec4b711df73ad81"/><file name="IsArrayContainingTest.php" hash="b7abae78a7ac707fd1dfbc55be325b76"/><file name="IsArrayTest.php" hash="011f94ee971eebf4c8b07187f6928f74"/><file name="IsArrayWithSizeTest.php" hash="73370af465facd0e7e978e4913ea9c59"/></dir><file name="BaseMatcherTest.php" hash="f8fcec46b41a0691ed0008e1fc5c2f63"/><dir name="Collection"><file name="IsEmptyTraversableTest.php" hash="dba9f3d429f13fd89856674defe8b3b8"/><file name="IsTraversableWithSizeTest.php" hash="16e3a614cff2240b326f8e589127b7b4"/></dir><dir name="Core"><file name="AllOfTest.php" hash="69a9a1addd32c7f8ec29b13936887dd3"/><file name="AnyOfTest.php" hash="e72f146924fd38ed9ed6448529960342"/><file name="CombinableMatcherTest.php" hash="5905aa5d2e2b473d713f3ce8e812c991"/><file name="DescribedAsTest.php" hash="beec26ba8be293f763b4b8219d1fbfa6"/><file name="EveryTest.php" hash="763916541eb8f73dfb3044f404dd9d60"/><file name="HasToStringTest.php" hash="77720ed3835d0097cefaec903c7fb3b4"/><file name="IsAnythingTest.php" hash="5276a7f43fe59ca10c0d420b6422c076"/><file name="IsCollectionContainingTest.php" hash="b48d66fe89338c35e9e358c3fa50b2de"/><file name="IsEqualTest.php" hash="c6e5c24359153e4c96370f70487eef35"/><file name="IsIdenticalTest.php" hash="49a31a800a34954797cde35d31a8d722"/><file name="IsInstanceOfTest.php" hash="1f11f6839af6f167b734ae3fabf55cca"/><file name="IsNotTest.php" hash="be78daae54b46702b2ea2b5501592c27"/><file name="IsNullTest.php" hash="6d492224840e190b6161676217bc30c7"/><file name="IsSameTest.php" hash="a86d6f2923811af33439cc5cbb7990a4"/><file name="IsTest.php" hash="71018139ed6da88bd8b9ab2943a4faf4"/><file name="IsTypeOfTest.php" hash="25edda97e76054bdb91c8417da8054c2"/><file name="SampleBaseClass.php" hash="4263fc5c37911b956d1f4eb660185702"/><file name="SampleSubClass.php" hash="e1b7d4a90671a7dbdc72a91fdff32e2a"/><file name="SetTest.php" hash="910aaa452f911bd9b9aaec4f4a56c1c3"/></dir><file name="FeatureMatcherTest.php" hash="ce79f0306bb69e1e4310adc46f16f4b3"/><file name="MatcherAssertTest.php" hash="ea1fb8eee9b1d5a998d6caca419a01f5"/><dir name="Number"><file name="IsCloseToTest.php" hash="127de8dff08bc2d340e06025a2882c19"/><file name="OrderingComparisonTest.php" hash="afce244a03d54975c9b5760d6e3a85bf"/></dir><file name="StringDescriptionTest.php" hash="c948c73570495c7cbaa55a8dffb043c2"/><dir name="Text"><file name="IsEmptyStringTest.php" hash="7934bfda5180f163d6aafb64c00d518c"/><file name="IsEqualIgnoringCaseTest.php" hash="cf3a14b7c71dd70f9f596f99d8fb31c6"/><file name="IsEqualIgnoringWhiteSpaceTest.php" hash="4ca798c66ae4195ab70447831bcf28e6"/><file name="MatchesPatternTest.php" hash="27461d153376189d62fdfb4680804ab6"/><file name="StringContainsIgnoringCaseTest.php" hash="5fbbd129a44c86e9a6cebae84985dea8"/><file name="StringContainsInOrderTest.php" hash="d218ec95326e9c2a8da7f4ae75cd181b"/><file name="StringContainsTest.php" hash="f04ebe31acdfeee3a1e769443a57596e"/><file name="StringEndsWithTest.php" hash="b004e602429bcc838a3e0876c9838612"/><file name="StringStartsWithTest.php" hash="d72a55579b0a86eeb1875e69a1577dfb"/></dir><dir name="Type"><file name="IsArrayTest.php" hash="32ff5b8b0ffd4420debd54e51077aa4e"/><file name="IsBooleanTest.php" hash="34085383bd1800022a0ddf4bc40d6ce5"/><file name="IsCallableTest.php" hash="9cbf36289536dd9b3d75fddcacf48db9"/><file name="IsDoubleTest.php" hash="ecf1fe9894f4c00e7ace3275b2b3044d"/><file name="IsIntegerTest.php" hash="481ed054971825c64aa459e499c5664b"/><file name="IsNumericTest.php" hash="2812da17ad6e08826dba6859a1158873"/><file name="IsObjectTest.php" hash="4a236f1718bf4c0b2bc418c5c1f52f59"/><file name="IsResourceTest.php" hash="6405070aa1797b4cd44e92344e64b57c"/><file name="IsScalarTest.php" hash="bcaf66085512c4b00e57a0b42c562377"/><file name="IsStringTest.php" hash="185e37bcf81963490e00f59c5e2a596a"/></dir><file name="UtilTest.php" hash="cb87efa3aea1b34a2a148fb885a21eaa"/><dir name="Xml"><file name="HasXPathTest.php" hash="7befc7f72a206999c46fbe35825b34ab"/></dir></dir><file name="bootstrap.php" hash="af8a0702be36a80065c87ed1c88025d6"/><file name="phpunit.xml.dist" hash="ef9ee977bebe65bdafeb9907c829b19a"/></dir><file name=".coveralls.yml" hash="c599be55bbd9dd3272c0f1c927d96af8"/><file name=".gitignore" hash="a7c23533fe34a5e60ad15b6990928b74"/><file name=".gush.yml" hash="93cd0a5733ca92b39e2e4e2e9445755e"/><file name=".travis.yml" hash="4e4f3de2da946e36a148f4363b2f9ace"/></dir></dir><dir name="mathiasverraes"><dir name="classfunctions"><file name="LICENSE" hash="2306e1d2991863086dd189be2b264caf"/><file name="README.md" hash="db10e07e43d7d5c097eb5cb17ef92cd3"/><file name="composer.json" hash="a1b074aa1e824f2966b68eba755ee5fa"/><file name="phpunit.xml.dist" hash="52db8c9645a87a6454202f4009eae652"/><dir name="src"><dir name="Verraes"><dir name="ClassFunctions"><file name="ClassFunctions.php" hash="0d2b1ce48f0e44226e9490ab896c37d6"/><dir name="Tests"><file name="ClassFunctionsTest.php" hash="ff2fd73c090e3cda400610c744d27041"/></dir></dir></dir></dir><file name=".gitignore" hash="d06b7414eda899a31b10124eb2e563f4"/></dir></dir><dir name="mockery"><dir name="mockery"><file name="CHANGELOG.md" hash="84c12ae5f00ec572e260f7a7848fc5a8"/><file name="CONTRIBUTING.md" hash="5b40921aaff20f1102619486b9dbddc4"/><file name="LICENSE" hash="656bd008462696bb986a3e2185beb125"/><file name="README.md" hash="c92c5de2762fe4f8b27e0617316ceca1"/><file name="composer.json" hash="97c4714d040237bbc6ff5a278c17e609"/><dir name="docs"><file name="Makefile" hash="e19ab5de52588835923a4908cb4abc3a"/><file name="README.md" hash="de0d89b47ab928c7190502f46a447e68"/><file name="conf.py" hash="2fa54c505773b885abf2944009417822"/><dir name="cookbook"><file name="default_expectations.rst" hash="babdfeae777443df21c472c22e61031c"/><file name="detecting_mock_objects.rst" hash="08172ab2f46ffb10d2d979a19bbc1ae5"/><file name="index.rst" hash="038a0fc346347088fa68f9b6958a8cb6"/><file name="map.rst.inc" hash="24c03d9bef431b4795323a229eaba336"/><file name="mocking_hard_dependencies.rst" hash="9d099c11827a78cfb53b95f775484ed7"/></dir><dir name="getting_started"><file name="index.rst" hash="0e2c09582b031c14f1a16493482072a8"/><file name="installation.rst" hash="c176ede35fc56e51baad7b40dbe6c208"/><file name="map.rst.inc" hash="195a2ed86775a86df9dfdaed237370ae"/><file name="simple_example.rst" hash="64d2dc35a9356260dac7ccdc5499d983"/><file name="upgrading.rst" hash="73cbf0c87eb05f908446634f2f23d89f"/></dir><file name="index.rst" hash="53c03e35f49f862b09212d6ff3d17b17"/><dir name="reference"><file name="argument_validation.rst" hash="dd7b53d19a177b65caf05c84a9231d4d"/><file name="demeter_chains.rst" hash="8ace9feb43c87dfdaf37fda94e263c52"/><file name="expectations.rst" hash="a71ae4b3ff12a135dbb65a4964adff0c"/><file name="final_methods_classes.rst" hash="fdb3ccddab72c50a012ad418eb8d838e"/><file name="index.rst" hash="4146c5d087408c56eb676764c9bdc02b"/><file name="instance_mocking.rst" hash="36d99d6100bbaf4032f48c3722515c0b"/><file name="magic_methods.rst" hash="d8e84fdbc1a4aacc656a118745c16d4d"/><file name="map.rst.inc" hash="731afba16b1752d43b429367628918e9"/><dir name="mockery"><file name="configuration.rst" hash="11aeba5110715ab86824634be6223ec1"/><file name="exceptions.rst" hash="d97033ae86c9a62a3454c2c252f0408f"/><file name="gotchas.rst" hash="c5eca12cfa554534585cefd91f0a092c"/><file name="index.rst" hash="5ba773eac7c31643e00d409be8ecf90e"/><file name="reserved_method_names.rst" hash="405a49a8faac80e2e355a183cd05de1d"/></dir><file name="object_recording.rst" hash="c77d7cd292c5a916bf8faa3311c20c7e"/><file name="partial_mocks.rst" hash="7010d2ac778c1be4a14e2b055b221e30"/><file name="pass_by_reference_behaviours.rst" hash="68fb5d5f10eca4ef6d525143598c2122"/><file name="phpunit_integration.rst" hash="6a86fc69be54eaa30370196d420f28be"/><file name="public_properties.rst" hash="8847df572a232fc977a9749d1db3909f"/><file name="public_static_properties.rst" hash="999d736681a32d55fb787dba308869d6"/><file name="quick_examples.rst" hash="40c04d2a0c9cd172d34d610ff25e703a"/><file name="startup_methods.rst" hash="0099706eae529ec2e22c9e4d3a067008"/></dir><file name=".gitignore" hash="cfabe0ad214e6c6fd783e8cdf15d0469"/></dir><dir name="examples"><dir name="starship"><file name="Bootstrap.php" hash="89e778ea4c9a32bc1da77432a1374ec8"/><file name="Starship.php" hash="412de862e4a465de0d97a62fca13ebfd"/><file name="StarshipTest.php" hash="3c8b4e2a4e0d1bce8e1f65a1d6a30905"/></dir></dir><dir name="library"><dir name="Mockery"><dir name="Adapter"><dir name="Phpunit"><file name="MockeryPHPUnitIntegration.php" hash="421dfdcbc9d7ec29db24df2336169f01"/><file name="MockeryTestCase.php" hash="2153bc9a2266ea0fc4ecf82caeb217b9"/><file name="TestListener.php" hash="d32aafe7efe6093f2cf41072b096392d"/></dir></dir><file name="CompositeExpectation.php" hash="c4bb3d53d529f095d1f1b0f49cdca29e"/><file name="Configuration.php" hash="8faacaa3338d3c367192cfc9473069c2"/><file name="Container.php" hash="898e8b6f315b6c12f1e2445fec6f9655"/><dir name="CountValidator"><file name="AtLeast.php" hash="3513ef53dfd185352c3880831c2e2e0f"/><file name="AtMost.php" hash="540ea5a947e28e30191fe36acc1f6fb9"/><file name="CountValidatorAbstract.php" hash="396d050207362e5caaca9dc7b8d1d270"/><file name="Exact.php" hash="afc5b0c002e5bdddc368dfaab34346bd"/><file name="Exception.php" hash="fb632c1438c388ef4a986a984c34122b"/></dir><dir name="Exception"><file name="InvalidCountException.php" hash="cb287562853431a284c516df6175eaf6"/><file name="InvalidOrderException.php" hash="b69759459001bf81a9a01e8e1aa2c01a"/><file name="NoMatchingExpectationException.php" hash="16cf188029ce08a49c7e9da591f5ec8e"/><file name="RuntimeException.php" hash="8791b65b101b95be2d1b7a544bac6c22"/></dir><file name="Exception.php" hash="adad0c3e5624ab951dbc5df87e571be8"/><file name="Expectation.php" hash="4d488931882f870fbdfe982cd2b7c898"/><file name="ExpectationDirector.php" hash="d899d3d871643c5bf67f09465040ea7a"/><file name="ExpectationInterface.php" hash="52d5fb11f9accd90009a5b6e07e42835"/><dir name="Generator"><file name="CachingGenerator.php" hash="1be561184e0905283a2c8b7e58f59607"/><file name="DefinedTargetClass.php" hash="809b6b7dc110728b72741e679aa89ea0"/><file name="Generator.php" hash="bdeec8582477fd38bbb1eeb631313eb6"/><file name="Method.php" hash="b8a4b2c99781d618b4bf6e040fead136"/><file name="MockConfiguration.php" hash="cd1d8242400f4827dec21fedfcf00922"/><file name="MockConfigurationBuilder.php" hash="466da76c4a5e45ea4ea7b2b65592f4b6"/><file name="MockDefinition.php" hash="53a302e55dab837d37c8c092fb20f115"/><file name="Parameter.php" hash="aa65ed16b3a512ff6a6e30655a7eaf58"/><dir name="StringManipulation"><dir name="Pass"><file name="CallTypeHintPass.php" hash="71b52f0896cffa31f84b37799a6d1f7f"/><file name="ClassNamePass.php" hash="fca44d919899ad86408e3cdd5427b71f"/><file name="ClassPass.php" hash="87f150f56e80749be082d5f5583cea7c"/><file name="InstanceMockPass.php" hash="00a1a7f420aff6a5508d92d5d3a802d0"/><file name="InterfacePass.php" hash="7083bc38b63afeb794dc647204ecfc7e"/><file name="MethodDefinitionPass.php" hash="64d04402814684f1e4ba5ddc37a36167"/><file name="Pass.php" hash="9025dcbb5eefafe8e024717ee2d96635"/><file name="RemoveBuiltinMethodsThatAreFinalPass.php" hash="801577a52038b35c6408c3d97fc66ff0"/><file name="RemoveUnserializeForInternalSerializableClassesPass.php" hash="2c5e6c6d26294193529b9415892d7486"/></dir></dir><file name="StringManipulationGenerator.php" hash="f38836933485c537f980aa78bc6f2970"/><file name="TargetClass.php" hash="71cc6ad3af0af7880f13a36bdb000654"/><file name="UndefinedTargetClass.php" hash="e77a9196e338619438b74e25912422d1"/></dir><file name="Instantiator.php" hash="234353be963ec468c15faa688ddfb203"/><dir name="Loader"><file name="EvalLoader.php" hash="e78584f58e2d98ca43f5508c25f64c4e"/><file name="Loader.php" hash="717fc9773450b2a05c2a2b0d3ce36d6e"/><file name="RequireLoader.php" hash="5fff1e63337e125d9fa7c41407b21b35"/></dir><file name="Loader.php" hash="defda68aff267d8cf3eb339fa5854df3"/><dir name="Matcher"><file name="Any.php" hash="b0830a3879727ca37dc33e42dc2499d6"/><file name="AnyOf.php" hash="008c46b9543eccc356c9f4bfa0a57a42"/><file name="Closure.php" hash="24dd559cff30ede2304b6374e5c660cf"/><file name="Contains.php" hash="e7686c2aac50ad5a8b7534a16fb6da3d"/><file name="Ducktype.php" hash="c7f23569993451fd00721b2791a78635"/><file name="HasKey.php" hash="03c4b2dab8d4be6ff60c12fa1fef58cb"/><file name="HasValue.php" hash="49b3e4d6d28ffa677337f31f4e6df077"/><file name="MatcherAbstract.php" hash="66421fc5fb62c86547c5a79aebcc1a53"/><file name="MustBe.php" hash="aac317dad2453fa7837b41237e09c951"/><file name="Not.php" hash="95baa5603a26657dd68f84e96cb1f295"/><file name="NotAnyOf.php" hash="f03cf71896cee7fe0dacdc15c35bf389"/><file name="Subset.php" hash="d2cee82956caf857f6315eb371ddb271"/><file name="Type.php" hash="be63ec1b6361890437e11bd1b876e0de"/></dir><file name="MethodCall.php" hash="294e8c08ea585441a738d34afc64f3b3"/><file name="Mock.php" hash="8f7200d51dac3a7c5a3d56df2938a560"/><file name="MockInterface.php" hash="09977fdeafdc9dea1182935533c1118e"/><file name="ReceivedMethodCalls.php" hash="f7294cac89790bd2010ed0f719863360"/><file name="Recorder.php" hash="0959661a1af0b8d54a7bae2a551181d2"/><file name="Undefined.php" hash="0c5846eeb8ac9eb14aac3ac750ad9561"/><file name="VerificationDirector.php" hash="cdf84194e9bbebdf80e9227186565ba8"/><file name="VerificationExpectation.php" hash="5eb0cf8f3472dedd3b901a036ca5b41c"/></dir><file name="Mockery.php" hash="8245a9089d30a5b788cdb9be3299596c"/></dir><file name="package.xml" hash="5b79429d745e9b7f22fcae11cc3c35e5"/><file name="phpunit.xml.dist" hash="f2691194fb60dc4d647df5c8a1daa09c"/><dir name="tests"><file name="Bootstrap.php" hash="d5056134c17a74c8aea26d90ff2f5921"/><dir name="Mockery"><file name="AdhocTest.php" hash="6d17e3ac3942d7eab918f0ceee07b83c"/><file name="ContainerTest.php" hash="c19843822b5f5c9f6cbad69183a372ac"/><file name="DemeterChainTest.php" hash="26df1db2554ac3572bb613ee0a1359c1"/><file name="ExpectationTest.php" hash="4d70d387fac579de6bfb3e654400972b"/><dir name="Generator"><file name="DefinedTargetClassTest.php" hash="d6c78364db6e153af721651ef7be5d3d"/><file name="MockConfigurationTest.php" hash="41b757ad0a9981b23b525c35958db57d"/><dir name="StringManipulation"><dir name="Pass"><file name="CallTypeHintPassTest.php" hash="78af5dbd0c7f8b1e19ede0cfe975f3a5"/><file name="ClassNamePassTest.php" hash="4118fd42dcbdbcf5d10b004c6d9c368a"/><file name="InstanceMockPassTest.php" hash="37a05d43e58bee04ac8c62d149e2a839"/><file name="InterfacePassTest.php" hash="462a7610976818047c5c05c32074b671"/></dir></dir></dir><file name="HamcrestExpectationTest.php" hash="7ce8f14e097c16607accd37d1c4218c3"/><dir name="Loader"><file name="EvalLoaderTest.php" hash="172beec6995a849bd6c294f5f00238aa"/><file name="LoaderTestCase.php" hash="e56284822e7ee7c134e04a41ca67bf9c"/><file name="RequireLoaderTest.php" hash="d6727708217101d7d0c562632246af5c"/></dir><file name="LoaderTest.php" hash="c1163c3e75198f4afd6a4f7aa5a6ee73"/><file name="MockClassWithFinalWakeupTest.php" hash="bd041cff883a938a4280c2d8bc528ab5"/><file name="MockClassWithUnknownTypeHintTest.php" hash="bcad8d0a96fac9d2d4b1a53e2f3fd639"/><file name="MockTest.php" hash="570050d0b10458966edeba09f26d1623"/><file name="MockeryCanMockMultipleInterfacesWhichOverlapTest.php" hash="df067d6c40da6bb52f6ed91ade86cc8d"/><file name="MockingParameterAndReturnTypesTest.php" hash="39fccf7f62b328cc6e5fe643e2cad151"/><file name="MockingProtectedMethodsTest.php" hash="ecc788416db0788e3b8c43a0a66cf810"/><file name="MockingVariadicArgumentsTest.php" hash="b82e5efab8d66d02e0ba49246ac7a080"/><file name="NamedMockTest.php" hash="335036dc365f277550a29c62cbafe438"/><file name="RecorderTest.php" hash="1f77eedbd398ae1157aa250c6581c3d7"/><file name="SpyTest.php" hash="673d4e6d1594cbe85d1930ce1502776d"/><dir name="Test"><dir name="Generator"><file name="MockConfigurationBuilderTest.php" hash="4e43d991d4df64d4eb1f698cc1f4d09b"/></dir></dir><file name="WithFormatterExpectationTest.php" hash="85d35905a118d7ffd60d6a3e6297e7d0"/><dir name="_files"><file name="file.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir><dir name="travis"><file name="extra.ini" hash="ab8eb331f7221256598c5db89b8e4136"/></dir><file name=".coveralls.yml" hash="15068557cc783628f3d4ffb7e62a98d7"/><file name=".gitignore" hash="d08994f6ec9026c36051405c25a282d7"/><file name=".php_cs" hash="24d35fa95e5588f21e7554122423f3e2"/><file name=".scrutinizer.yml" hash="de3040c060fee5ffabf815590adedd2a"/><file name=".styleci.yml" hash="fb0cbdd49f8ac238ab88e439da3cbad7"/><file name=".travis.yml" hash="5fc61505f83d13dad68cb8bcb7be651c"/></dir></dir><dir name="nesbot"><dir name="carbon"><file name="LICENSE" hash="eb00004b73e7708520f412c4dddbf3e3"/><file name="composer.json" hash="1c3590c51a3a3bb65abfd44927b6fc15"/><file name="readme.md" hash="a17fe76e20657b759e0d58f3207d6355"/><dir name="src"><dir name="Carbon"><file name="Carbon.php" hash="d8799630685f260fcd814dae42530f9b"/><file name="CarbonInterval.php" hash="4904f4edd96806abc3a2bfaabe41ee31"/><dir name="Lang"><file name="af.php" hash="156ed4f4370dd12b89beae267d72f520"/><file name="ar.php" hash="4d3977cd081ffa3e13932b9eb0959d75"/><file name="az.php" hash="12873c1cac4edf35e423aede576b0f31"/><file name="bg.php" hash="7eca783b19695ef10e056ba78196842b"/><file name="bn.php" hash="83dc0dd78aa63ed5613990d5b6914d25"/><file name="ca.php" hash="a25bcdaea6213b5baf5beedb7d2dda77"/><file name="cs.php" hash="e4b86c05b2e01eef8d0e6d7c08b9388b"/><file name="da.php" hash="5f684260c8ec53890f5dc30a5c55625c"/><file name="de.php" hash="8426243418b949883a09f1cff261fc31"/><file name="el.php" hash="42428f6e6723562a2ece232bd60b4c07"/><file name="en.php" hash="c7c22f2c2c58921873a5c8a09ace692d"/><file name="eo.php" hash="3a90520bd9a17d6cfcab4cd02ee4ab0b"/><file name="es.php" hash="ebc0e9587896a624f46c0a389242d3ce"/><file name="et.php" hash="92fdbc19166f8c927787d0814843fe81"/><file name="eu.php" hash="bde2c6a9bc10526bd5d4caf5837b243d"/><file name="fa.php" hash="e746fb8d2053c1cd6b73a326ea7effc5"/><file name="fi.php" hash="71b66415417677a41f55246bd93d2a69"/><file name="fo.php" hash="cd4437e7d487f47cca9f28e54405b2e5"/><file name="fr.php" hash="67f1596a2e1da0d0d1cdfe2e9d445b14"/><file name="he.php" hash="3e68c6c67fba853571e97292c305ce54"/><file name="hr.php" hash="617652591e37e0651a5fff2c1a3b1d74"/><file name="hu.php" hash="ebec07868a3383a2c53b91723cc1bcdc"/><file name="id.php" hash="9739ab653b213dd712d40f5fd6e4d458"/><file name="it.php" hash="fe471c04e648e2added65b8a26eb703c"/><file name="ja.php" hash="42dff56b5010c2d3bfacfd6c256859f0"/><file name="ko.php" hash="f1997288ecea89310a6c99adebabead6"/><file name="lt.php" hash="837807bc9ed1e60e9edecd058d85fc56"/><file name="lv.php" hash="cd8ede8f5b3726f886d75026e071a372"/><file name="ms.php" hash="a87f103c24f534892751ced33535b22a"/><file name="nl.php" hash="d87ca11b15a55bb6a4f766757f607fb6"/><file name="no.php" hash="3d3af8931e921a70f7f9757f8e5d0c8e"/><file name="pl.php" hash="84515ee83c0a31e4879d9a9776846bf3"/><file name="pt.php" hash="a0155f85beda373e0186728cf0ce66f9"/><file name="pt_BR.php" hash="3777b772ac61d182236d516f864deca8"/><file name="ro.php" hash="e1aec4e29e532c511c667dbdad739b0c"/><file name="ru.php" hash="19c9dcd3575bebe7a684ffc417b22ca5"/><file name="sk.php" hash="0f6193d99136e7f121ebd636a4137f70"/><file name="sl.php" hash="36fd62014fc8288d3ae43b0aa7c183a8"/><file name="sq.php" hash="07b7f4037192b541330d02e5be557834"/><file name="sr.php" hash="adf1a7dea27daf3e7a84a580dde90d0c"/><file name="sv.php" hash="2eabf42f973e0c729043da9583fa36ac"/><file name="th.php" hash="44aa4be793026a20e54475d9f5dedebe"/><file name="tr.php" hash="ed6d8beb13f38d92394a2a01dca3a0e1"/><file name="uk.php" hash="864d8dcdd0ac97202295d640c217ab5f"/><file name="uz.php" hash="89817d2f97716a71798ec9608d1cfa30"/><file name="vi.php" hash="0957e44cbfd50527dfce997d93a82ad5"/><file name="zh-TW.php" hash="d63724f09161b6494f08f4cbcbf8293b"/><file name="zh.php" hash="4bd71945d5e0f07e6630368c0ecdb17b"/></dir></dir></dir></dir></dir><dir name="paragonie"><dir name="random_compat"><file name="LICENSE" hash="5c1048c9d62123819aa63e62e1578be6"/><file name="composer.json" hash="eedb5065c13215343f81103facea861a"/><dir name="dist"><file name="random_compat.phar.pubkey" hash="36dae3cf3fd10ae5093aaec29b7b5125"/><file name="random_compat.phar.pubkey.asc" hash="3ec788adbb0519a92243e569789cfcb9"/></dir><dir name="lib"><file name="byte_safe_strings.php" hash="79403921889bfb5ee0b5d1c29209ec61"/><file name="cast_to_int.php" hash="c8f449b688e6413b1b58182fedca0bea"/><file name="error_polyfill.php" hash="a43f5f97708d0a928b6237f79d138c51"/><file name="random.php" hash="0df92b5c5908409a852b19f830039615"/><file name="random_bytes_com_dotnet.php" hash="f2c55ad145239ee7214e72a0b5ad3d1d"/><file name="random_bytes_dev_urandom.php" hash="b78e43f2f731a75776a7f4f63ad48d19"/><file name="random_bytes_libsodium.php" hash="145e234a490a48d4147338a1a9e3532d"/><file name="random_bytes_libsodium_legacy.php" hash="93849dd366e61bda9b98e7b1d1ddd1ab"/><file name="random_bytes_mcrypt.php" hash="107c33dd45a5ab55b0670516335ca823"/><file name="random_int.php" hash="e6c7a2136620301c6adc15c3251901bd"/></dir><dir name="other"><file name="build_phar.php" hash="938323773ab0732a3d3ce0a6f3df8493"/></dir></dir></dir><dir name="phpdocumentor"><dir name="reflection-common"><file name="LICENSE" hash="fbd8b4962da164012cc5ed522dd6827a"/><file name="README.md" hash="bb6afcf6df22e8dcb3098d2dc69c0973"/><file name="composer.json" hash="b2585667aa00cf5a68b7d4c38f12933b"/><file name="composer.lock" hash="89996c602b17eb2cc3d704fb877468b5"/><file name="phpunit.xml.dist" hash="46020bd8f875e0956f44913a9e9512b4"/><dir name="src"><file name="Element.php" hash="904562dece9ddfbb57d57ee72ed9ab10"/><file name="File.php" hash="b510e8439f477690270a65c3bde12174"/><file name="Fqsen.php" hash="e2fb01d3760b3dbd9175ea55e1ebe3d4"/><file name="Location.php" hash="d1e457ea2feb3b88cae1d8da02344290"/><file name="Project.php" hash="2f2f12a2393d303f8550be3d06de9f69"/><file name="ProjectFactory.php" hash="f4b552154463bb08532a0769bda8c373"/></dir><dir name="tests"><dir name="common"><file name="bootstrap.php" hash="68bc0a23fbd5a200ffadecb6e3b018f4"/></dir><dir name="unit"><file name="FqsenTest.php" hash="4b6e461b109f9b9804b20b632db45976"/></dir></dir><file name=".gitignore" hash="a3302d3eabbf63b2398b3f5154d01423"/></dir><dir name="reflection-docblock"><file name="LICENSE" hash="7bad6f67feb4324e1b8e6127e09194a3"/><file name="README.md" hash="5f69952a9450b171660c9de6f5a765fd"/><file name="composer.json" hash="9dfabded4193c3fd2ec85874de3b2e3c"/><file name="composer.lock" hash="987bdef409f8f22da43ec849147c2983"/><dir name="examples"><file name="01-interpreting-a-simple-docblock.php" hash="c68e2d565931b588def81d11b4496727"/><file name="02-interpreting-tags.php" hash="d2a6c046e4f604362027c7eb2d5b0ee4"/><file name="03-reconstituting-a-docblock.php" hash="1d9b76e2c42f088bc777483cb5d6e80a"/><file name="04-adding-your-own-tag.php" hash="5beac25c610d3ea53bde22733dbaa6bc"/><dir name="playing-with-descriptions"><file name="02-escaping.php" hash="6ad07caecb74acdc4aa788879a14e357"/></dir></dir><file name="phpmd.xml.dist" hash="d8aa3b55ef832f337aaf81f189ccfb99"/><file name="phpunit.xml.dist" hash="e009db8aa201519ad41422f5f79e0e39"/><dir name="src"><dir name="DocBlock"><file name="Description.php" hash="0866450cb0489e3b5806560298d99afe"/><file name="DescriptionFactory.php" hash="5bdb0cd31370e1156b91bf4409292a2e"/><file name="ExampleFinder.php" hash="b17947bea92cba87a04a29b23fcafaf0"/><file name="Serializer.php" hash="84a0c716385bc5ab84d29e53b883011b"/><file name="StandardTagFactory.php" hash="ca85676e19ceec84553b44498f92e1ff"/><file name="Tag.php" hash="489fcf11518e68285fc42612ac0e5da2"/><file name="TagFactory.php" hash="7d75fb3bc0dde23ebaa7d5331c115059"/><dir name="Tags"><file name="Author.php" hash="68439f31f9915fe5e7d608ec38f2a22a"/><file name="BaseTag.php" hash="c246ee0fc86099af6287d19c557d1a15"/><file name="Covers.php" hash="c24290085b22ddb7895918d8fe1cf290"/><file name="Deprecated.php" hash="baedfffc5806767816aec4d59ba64ad2"/><file name="Example.php" hash="26bb1c954f30441f13d986fed2afbbfc"/><dir name="Factory"><file name="StaticMethod.php" hash="38e9f78787c3ddb47c64f564235a9f63"/><file name="Strategy.php" hash="26e283bc215bf2ae5acc7d279f76701b"/></dir><dir name="Formatter"><file name="PassthroughFormatter.php" hash="029362b9e359103841b035fe2cae2856"/></dir><file name="Formatter.php" hash="262b87c1ffed87247538a0d3ea989a72"/><file name="Generic.php" hash="d3052483ffbbed0e4d9c811328236041"/><file name="Link.php" hash="ba1224d4dbd5d6c314fec27a5972e97a"/><file name="Method.php" hash="b442661f49231422149c71e40b38bfab"/><file name="Param.php" hash="68fb4cda393f63c252b78b31f0ce6fbb"/><file name="Property.php" hash="48bdfb8051b95a5ab6ee8314a876fda0"/><file name="PropertyRead.php" hash="1287d3f27ed576d53a91a86d049eefcc"/><file name="PropertyWrite.php" hash="b4ad01450fe0037fb0e57bf14cd4a871"/><file name="Return_.php" hash="4fdf306d4a0fc033f96c64603d10e4e8"/><file name="See.php" hash="151fefe962d3d028e81fe3f02468a81b"/><file name="Since.php" hash="8fe6a8bb868d523a23fe41f6659e3f64"/><file name="Source.php" hash="aae9cb432cd4efde0711894293f6232b"/><file name="Throws.php" hash="282bfe169b437d12ebf770e2613acc54"/><file name="Uses.php" hash="72b9760115f6c19cb6cd23b0ef83887f"/><file name="Var_.php" hash="18c9b2a8926e034be0e5fead301478c6"/><file name="Version.php" hash="2659ed445444c8366fc25f1ea01cbf16"/></dir></dir><file name="DocBlock.php" hash="b6c418cf1f7ae2fff7b91e8b80f7e9a5"/><file name="DocBlockFactory.php" hash="be536c5bca540267074698bc288852a3"/><file name="DocBlockFactoryInterface.php" hash="27b842720f1244d7493a561bbe335390"/></dir><dir name="tests"><dir name="integration"><file name="InterpretingDocBlocksTest.php" hash="6cb442d45986a2c05f679cd978de328a"/><file name="ReconstitutingADocBlockTest.php" hash="a5024416b09e68e2bfd0894d30778d0b"/><file name="UsingTagsTest.php" hash="183e3a68c85050fc1f3239652f453b90"/></dir><dir name="unit"><dir name="DocBlock"><file name="DescriptionFactoryTest.php" hash="f7affc93771d9c1c102724972409d588"/><file name="DescriptionTest.php" hash="943dc776c811d7cc69e3fec1c3abba27"/><file name="SerializerTest.php" hash="95592417f741251aeea2cc9454f80e4b"/><file name="StandardTagFactoryTest.php" hash="58b3a4908d475aa70b7fb434213fa3a3"/><dir name="Tags"><file name="AuthorTest.php" hash="7ec06bc903962e8807babb538da748e7"/><file name="CoversTest.php" hash="83999273e6d7f347d2608f996a8bfb56"/><file name="DeprecatedTest.php" hash="0719811151cf5b1e3e8afeea83a58da9"/><dir name="Formatter"><file name="PassthroughFormatterTest.php" hash="36bc8dc1d33e7cfa0d2ba3b328108aba"/></dir><file name="GenericTest.php" hash="86cc0c0b34a4215b5f8c1b99bf6b3dae"/><file name="LinkTest.php" hash="512ca8d4314032fdf8eb74bdebc12d12"/><file name="MethodTest.php" hash="908c9764c69861e377d2f2b1599207f1"/><file name="ParamTest.php" hash="cad1c550a65dc3735aa43aa9d07f9007"/><file name="PropertyReadTest.php" hash="be609ad5e75379ef924f79236d3ba786"/><file name="PropertyTest.php" hash="eb0167f521132985f22df255b93a63a4"/><file name="PropertyWriteTest.php" hash="e275be2fd1972a24cdfbbff6c3e47d5f"/><file name="ReturnTest.php" hash="20064e5b561627997e344fca16fdeef0"/><file name="SeeTest.php" hash="e8b887752b452e6001d2dc9786e5c452"/><file name="SinceTest.php" hash="23b61137eead27843195287a38f8ad6b"/><file name="SourceTest.php" hash="c0d61846b47a85fc3298349279cecc6f"/><file name="ThrowsTest.php" hash="49e0dfe0b85da9c3a49192cb6bcb3036"/><file name="UsesTest.php" hash="92d2ac04734c79bb4f1792a28ea5a748"/><file name="VarTest.php" hash="45a534d50498973b498b0ea7477b2647"/><file name="VersionTest.php" hash="64bac5230171424db244eab8fa661952"/></dir></dir><file name="DocBlockFactoryTest.php" hash="da40f926ef792960210739a40a2634e7"/><file name="DocBlockTest.php" hash="65338fb84a66f2fc381c40104e4afc83"/></dir></dir><file name=".gitignore" hash="ada3b572897ab66697162ec5005ec0d1"/><file name=".scrutinizer.yml" hash="4c2ab48e19dd721215d5a4671bb45ee6"/><file name=".travis.yml" hash="6eb8d83976a1dde1ea6b8841b951a1e5"/></dir><dir name="type-resolver"><file name="LICENSE" hash="7bad6f67feb4324e1b8e6127e09194a3"/><file name="README.md" hash="5748a57d3f235a37ee72661341e9e321"/><file name="composer.json" hash="2026c2be1ba200f852b612f6a29b19fe"/><dir name="examples"><file name="01-resolving-simple-types.php" hash="20031aaa7a902f18945e27f7c16bd548"/><file name="02-resolving-classes.php" hash="6c91c01d997bb9d7cc52b503da71328d"/><file name="03-resolving-all-elements.php" hash="fca6448a5630068a6b4bfeef9a161188"/><file name="04-discovering-the-context-using-class-reflection.php" hash="3ac1e71c7740bf9fbf0474d807cd3a31"/><file name="05-discovering-the-context-using-method-reflection.php" hash="7ec7109ceae03df85f99200ae9bf0302"/><file name="06-discovering-the-context-using-file-contents.php" hash="e03119e14211cf7aa8f121536715b3b9"/><file name="Classy.php" hash="1d732176f1eaba58a7cc434512141843"/></dir><file name="phpmd.xml.dist" hash="d8aa3b55ef832f337aaf81f189ccfb99"/><file name="phpunit.xml.dist" hash="d529e38ebff9bcf9e96f589eec173500"/><dir name="src"><file name="FqsenResolver.php" hash="522303a67bd799d8a7c05c8751984a14"/><file name="Type.php" hash="b304aa06bc84f451cf2d84479778d522"/><file name="TypeResolver.php" hash="c31e6e25cdb576dc925d464555721ae9"/><dir name="Types"><file name="Array_.php" hash="86615681faf9018b0ff00f984d8ee66e"/><file name="Boolean.php" hash="5c6684035b4d269bff79c149626937e7"/><file name="Callable_.php" hash="fe911f0c59afe3456f371145faa4c74b"/><file name="Compound.php" hash="4317f296c55088c2876473b3d95bcbdc"/><file name="Context.php" hash="75c655fdaf87a3825988d5bb8669c6bc"/><file name="ContextFactory.php" hash="946797e635f0af4f2c3df90eeab9a4a7"/><file name="Float_.php" hash="aa7bb7d9a56a59c028a5fd6aaf94c929"/><file name="Integer.php" hash="b9781dcdc7b43d466ee815c140ed2d9d"/><file name="Mixed.php" hash="e233960be5ff5de1ba8032c92b85866d"/><file name="Null_.php" hash="d7903478a277db0b117ded9e47bb25e3"/><file name="Object_.php" hash="eaf4ea19c78df8875e5a8687e166cf41"/><file name="Resource.php" hash="4e285b873cf519642110bf0866459ce7"/><file name="Scalar.php" hash="b59c5bf8aff3420c957646ace9c2b341"/><file name="Self_.php" hash="17a6bd6739b1a7d38f61021b0cf75882"/><file name="Static_.php" hash="346bee9ab7c118940318d08e2b663025"/><file name="String_.php" hash="36724cdfed7311500db70b0509e40c3a"/><file name="This.php" hash="ef6647048c74f2ea0ba197ca3de35205"/><file name="Void_.php" hash="8ccb904a913a71256c8a0786dbbbb32f"/></dir></dir><dir name="tests"><dir name="unit"><file name="TypeResolverTest.php" hash="3c0738e8d53404da5b1e87d2d94002aa"/><dir name="Types"><file name="ContextFactoryTest.php" hash="0c77c76627a4822aae565d8b8fc02a6e"/><file name="ContextTest.php" hash="d9278cea7b133ec13d31c02e97bbb72a"/></dir></dir></dir><file name=".gitignore" hash="531296bc8405cb0dfbed086dc5619783"/><file name=".scrutinizer.yml" hash="5c388ca383d365727aae314428dfca8c"/><file name=".travis.yml" hash="f4d4b6a3096456823be266726e6026f0"/></dir></dir><dir name="phpspec"><dir name="prophecy"><file name="CHANGES.md" hash="c61368e02fdaff2e46aebda61b0a4865"/><file name="CONTRIBUTING.md" hash="40883eb9fc424fb2c861d168e01ae653"/><file name="LICENSE" hash="919ed3cf53f990487db45922626b96de"/><file name="README.md" hash="61d6fd6297734348ad314fd360722f28"/><file name="composer.json" hash="ddf64a9f186a1ad3b52d72a750df48fa"/><dir name="spec"><dir name="Prophecy"><dir name="Argument"><file name="ArgumentsWildcardSpec.php" hash="4a6ea9d02a9f7001715d5b9e4efc4c70"/><dir name="Token"><file name="AnyValueTokenSpec.php" hash="70a02114a985b57047fdfc7333379339"/><file name="AnyValuesTokenSpec.php" hash="cb38ed32526ac4b44c7d8c7a1b43c921"/><file name="ApproximateValueTokenSpec.php" hash="696b383ad7f768322baa2c4b86b975bc"/><file name="ArrayCountTokenSpec.php" hash="c9131633e598c056395907c92563fb96"/><file name="ArrayEntryTokenSpec.php" hash="faffb33355b44058c47f9be7684c9128"/><file name="ArrayEveryEntryTokenSpec.php" hash="ce1b7e054abc233f171adcfdc5bed431"/><file name="CallbackTokenSpec.php" hash="43ad4ed339231f974ed603125dbe2879"/><file name="ExactValueTokenSpec.php" hash="4e08c4312b74347e2058c507d748a022"/><file name="IdenticalValueTokenSpec.php" hash="f44fd460b6142e8c24774373844b44bd"/><file name="LogicalAndTokenSpec.php" hash="bec75816e85c41d21ed119bd7b118c6e"/><file name="LogicalNotTokenSpec.php" hash="419959907c6610d787882faa550317b4"/><file name="ObjectStateTokenSpec.php" hash="440eb9e79046e3233871aad3bbac3434"/><file name="StringContainsTokenSpec.php" hash="09ad56adbe934f0d2fe2dde4e6c64cd3"/><file name="TypeTokenSpec.php" hash="b5a86f8decff1b9fb3c4a571e7c5c118"/></dir></dir><file name="ArgumentSpec.php" hash="afeb64de3c51a7ffa77c9e3e92481673"/><dir name="Call"><file name="CallCenterSpec.php" hash="f348ae7f5d6380a6580c1118834e31ed"/><file name="CallSpec.php" hash="6393808a8f191fada7adffbb1fa1beec"/></dir><dir name="Comparator"><file name="ClosureComparatorSpec.php" hash="e8d0fcd91e28fc6db0b26336eaab0181"/><file name="FactorySpec.php" hash="ace944d00bb0b3e9739d7fe7d00ad766"/><file name="ProphecyComparatorSpec.php" hash="d5d669bc5cfe91298ada3dc488cf501e"/></dir><dir name="Doubler"><dir name="ClassPatch"><file name="DisableConstructorPatchSpec.php" hash="cbc9f50796e55dd7e5d6d448ff95201d"/><file name="HhvmExceptionPatchSpec.php" hash="84cc0ff40b3db2192b9504a0481f0025"/><file name="KeywordPatchSpec.php" hash="5c1bd0e3078725aca714f2ec789172c3"/><file name="MagicCallPatchSpec.php" hash="d5e267f1039663d148f5a701954a6cbe"/><file name="ProphecySubjectPatchSpec.php" hash="aae4e8571ec35c24ed2a6568cba6dddc"/><file name="ReflectionClassNewInstancePatchSpec.php" hash="1c0f31e51d7ca727edd249238ed7331f"/><file name="SplFileInfoPatchSpec.php" hash="0da04bbd1003b49dd8c6d8308a0df822"/><file name="TraversablePatchSpec.php" hash="947742aabcdffa995dec7019dd53c083"/></dir><file name="DoublerSpec.php" hash="47dd02c1047f84a1db556128f6bcd298"/><dir name="Generator"><file name="ClassCodeGeneratorSpec.php" hash="759daf8fe1e0c6befc525faf3170e438"/><file name="ClassCreatorSpec.php" hash="9f63541614299ec4f7879fa55d6294ff"/><file name="ClassMirrorSpec.php" hash="286146bd32c2b5d400673147d96e4223"/><dir name="Node"><file name="ArgumentNodeSpec.php" hash="affa3671fb35c5dc39a9a3e57c9a595a"/><file name="ClassNodeSpec.php" hash="91e20215f0eec7743d5fc3b1506a5248"/><file name="MethodNodeSpec.php" hash="dd7f23b31c438d3d5ab9de83a10eb48c"/></dir></dir><file name="LazyDoubleSpec.php" hash="11e7e2dfc015cd2b824f5b741422e9c3"/><file name="NameGeneratorSpec.php" hash="2fc48ac6fd45eabcff361c21001a4c52"/></dir><dir name="Exception"><dir name="Call"><file name="UnexpectedCallExceptionSpec.php" hash="8a505a7c2b2db9f0e83e92a8dc273d84"/></dir><dir name="Doubler"><file name="ClassCreatorExceptionSpec.php" hash="f63eb6b199780eec5ac4d439e3317fb2"/><file name="ClassMirrorExceptionSpec.php" hash="9aa64b11387c15b9a2d37695e71ee8ea"/><file name="ClassNotFoundExceptionSpec.php" hash="d00eff3b7ad1507fdfd53f6bbba37335"/><file name="DoubleExceptionSpec.php" hash="56935e0474c8203b5e486b2b76c991c8"/><file name="InterfaceNotFoundExceptionSpec.php" hash="8946a0f8ce397e6ec115ddbbe68d36dd"/><file name="MethodNotExtendableExceptionSpec.php" hash="17a9ee9b6cce26e0841a17a142b203a4"/><file name="MethodNotFoundExceptionSpec.php" hash="97a24a63e003d1f01e946f501d760a1d"/></dir><dir name="Prediction"><file name="AggregateExceptionSpec.php" hash="57eb0117c6bf79027b5c0089dfb4de45"/><file name="NoCallsExceptionSpec.php" hash="9c518b57191d3eb4f2658dac9e7e0248"/><file name="UnexpectedCallsCountExceptionSpec.php" hash="f07a8276b11b5fc25de42aedf2bc980b"/><file name="UnexpectedCallsExceptionSpec.php" hash="47c7fd3523446d94f398566864f4917f"/></dir><dir name="Prophecy"><file name="MethodProphecyExceptionSpec.php" hash="ef8f2563cb2e5574ae29677c507c64a3"/><file name="ObjectProphecyExceptionSpec.php" hash="621e68c594d89e3981d8b9d0a114a382"/></dir></dir><dir name="Prediction"><file name="CallPredictionSpec.php" hash="2f47b35b870e90b4934b4b6c01c08b18"/><file name="CallTimesPredictionSpec.php" hash="87c3f4646d6abc6b56c4106ce315eefa"/><file name="CallbackPredictionSpec.php" hash="7f28947cd074850f2eb0c056b531e344"/><file name="NoCallsPredictionSpec.php" hash="1f45dd7fea04568a9900e64eb0833747"/></dir><dir name="Promise"><file name="CallbackPromiseSpec.php" hash="22e89a7519df518b530a6cf703696020"/><file name="ReturnArgumentPromiseSpec.php" hash="35ab534957dfd53e05f59c1fb955fcb9"/><file name="ReturnPromiseSpec.php" hash="571122677f1144d46c71bd20e761c588"/><file name="ThrowPromiseSpec.php" hash="2dfe9d131de22ee63d8c8944d03b41f6"/></dir><dir name="Prophecy"><file name="MethodProphecySpec.php" hash="8b5b1968d55c997fe4b5de83e9e11269"/><file name="ObjectProphecySpec.php" hash="fca18183e24e91f751b66460d3121dee"/><file name="RevealerSpec.php" hash="d47860550d707fc4bfba84ab31de5fc5"/></dir><file name="ProphetSpec.php" hash="5119ac6ffefff21334dadbda5c5bfd02"/><dir name="Util"><file name="StringUtilSpec.php" hash="904154b4244579fe18e1e1600263ab96"/></dir></dir></dir><dir name="src"><dir name="Prophecy"><dir name="Argument"><file name="ArgumentsWildcard.php" hash="a2752f7d812ec1afe49b5ad06046374c"/><dir name="Token"><file name="AnyValueToken.php" hash="c6e9b1489a9a2ecf3186e13ad4613ef4"/><file name="AnyValuesToken.php" hash="2b30b8634482f3658bbb0d85b9b11627"/><file name="ApproximateValueToken.php" hash="ca3558a2a46eb22b52bf8b0de8e72763"/><file name="ArrayCountToken.php" hash="bc55ee319544e31a5ea4d1a27743f429"/><file name="ArrayEntryToken.php" hash="6c7dc2aa692d3d235bfcfd31d7e7039f"/><file name="ArrayEveryEntryToken.php" hash="30fec959e702239a60fb1d09218dfa04"/><file name="CallbackToken.php" hash="4ab2d7ebda942ba3e3ca460c3f1af533"/><file name="ExactValueToken.php" hash="ecef482fae7271fb32c40d78f8cd5a50"/><file name="IdenticalValueToken.php" hash="d2ee5490e286d64a4e4d8be7309b0d71"/><file name="LogicalAndToken.php" hash="f70ad55d497f8a8c17a55603305101d2"/><file name="LogicalNotToken.php" hash="a06aed5b21a24c30ad57d24681f53111"/><file name="ObjectStateToken.php" hash="02c3ca2228ed337ad57ddb37007549c1"/><file name="StringContainsToken.php" hash="660125e94561554becef2a22d9bc5053"/><file name="TokenInterface.php" hash="941b2cfd84f218da6150a464bdb245f6"/><file name="TypeToken.php" hash="ea7ae855d1f286ebd81be4eb38a9e83e"/></dir></dir><file name="Argument.php" hash="20eb0599f9a830e7bbc5a59c8d8adbeb"/><dir name="Call"><file name="Call.php" hash="0f98b2bcd0a539b162ca34d76020aa06"/><file name="CallCenter.php" hash="ccc2e2190bddf66f61413c06e5ef8b52"/></dir><dir name="Comparator"><file name="ClosureComparator.php" hash="4bc7ba6bb46abc6b7b572f7d525f7af7"/><file name="Factory.php" hash="44ea79304da493aeab86032ccaa4807b"/><file name="ProphecyComparator.php" hash="9f6358effa1f179f9618d3fa531cd98b"/></dir><dir name="Doubler"><file name="CachedDoubler.php" hash="9b3b7f48f3b24640c811df2006939522"/><dir name="ClassPatch"><file name="ClassPatchInterface.php" hash="0b873f434af0e0c5ab3a62cbb017343d"/><file name="DisableConstructorPatch.php" hash="2b347ee4708a1f321350fb7aedd96236"/><file name="HhvmExceptionPatch.php" hash="7a247d98ecfb8d51d44b068ccd3225ca"/><file name="KeywordPatch.php" hash="c7af0785fced3518102446cbfa5cbdd5"/><file name="MagicCallPatch.php" hash="9c1e686cc08f13b66fb96493d02c0143"/><file name="ProphecySubjectPatch.php" hash="6fa1a235fff80c4f3821ffa418687fe0"/><file name="ReflectionClassNewInstancePatch.php" hash="e8eb719b406b30991133025ad40bc715"/><file name="SplFileInfoPatch.php" hash="fed271da5e6cd55caf6f84b09d33a829"/><file name="TraversablePatch.php" hash="fd9aec94fddedde0d61ad2a3deee568e"/></dir><file name="DoubleInterface.php" hash="369868b9a1e9fab4189de24b8ea5839b"/><file name="Doubler.php" hash="fe225a7199c78fe6520fc639b31cd483"/><dir name="Generator"><file name="ClassCodeGenerator.php" hash="04d1510db6752469045d559f8790bc49"/><file name="ClassCreator.php" hash="d1989f7ab452dbf19a377b34da4ceacf"/><file name="ClassMirror.php" hash="5fd73ac946264f584f8092b67aa18b91"/><dir name="Node"><file name="ArgumentNode.php" hash="1388150aa28872b38c6ed213354806a4"/><file name="ClassNode.php" hash="9de7d7302a15fc5b9f1544f65310d9c1"/><file name="MethodNode.php" hash="cb32fa3845a2f1f468b8bd28a5cbdc23"/></dir><file name="ReflectionInterface.php" hash="8b80045be0c63010c3f899ea445d3fa5"/></dir><file name="LazyDouble.php" hash="c8999a3aa65e0c40f031a620fe5d39b9"/><file name="NameGenerator.php" hash="675d79e3e73296fab242c55192764eca"/></dir><dir name="Exception"><dir name="Call"><file name="UnexpectedCallException.php" hash="ddf78c90b22dc5fe213b8317c7462298"/></dir><dir name="Doubler"><file name="ClassCreatorException.php" hash="171c1c34e223bbda73300a5a159f41c7"/><file name="ClassMirrorException.php" hash="354d46dc765fc4aabb05ee70e6dd3c11"/><file name="ClassNotFoundException.php" hash="889e683cdccabf66c6ac7ec1ab303b44"/><file name="DoubleException.php" hash="dfa65e87b9f7fb92116a3fed91c9a034"/><file name="DoublerException.php" hash="16d130d5f7ef4ae8d0e8043cb48810c0"/><file name="InterfaceNotFoundException.php" hash="9956f64cac35ddcd953b3bee60c915ca"/><file name="MethodNotExtendableException.php" hash="c312b622e4e537509bb4b72f97fbc05b"/><file name="MethodNotFoundException.php" hash="135761777a5478f378375c4a2815e358"/><file name="ReturnByReferenceException.php" hash="89da440368b083e37dd7fe98b67368ec"/></dir><file name="Exception.php" hash="ce16b11ca21874b8793642cbabf44e8e"/><file name="InvalidArgumentException.php" hash="29a9b630e333b5285be597cd99670ddb"/><dir name="Prediction"><file name="AggregateException.php" hash="9b7c36fb107e13d31e6056965cb913c6"/><file name="FailedPredictionException.php" hash="85d1545624f43f9c953149c57ca27599"/><file name="NoCallsException.php" hash="b90a7dfdbddb3d5d0eaeb1a72e9213b5"/><file name="PredictionException.php" hash="86b8214d830276d5333a703419be9cff"/><file name="UnexpectedCallsCountException.php" hash="9c1e09104a30b8378e2f8e107250779e"/><file name="UnexpectedCallsException.php" hash="c3758e0bfce32841557c4ef457b52073"/></dir><dir name="Prophecy"><file name="MethodProphecyException.php" hash="c3d302ded3ee0ce6e9811f3e7705163c"/><file name="ObjectProphecyException.php" hash="bc622ffd56099eeb200f5f6874931450"/><file name="ProphecyException.php" hash="52ff2d1c5f3a8aa4a4401c6ebc9bed00"/></dir></dir><dir name="PhpDocumentor"><file name="ClassAndInterfaceTagRetriever.php" hash="f6efc7862e9ac59bf35ae007ab145ff7"/><file name="ClassTagRetriever.php" hash="1af996b5cfa1b005552cceed61983f1a"/><file name="LegacyClassTagRetriever.php" hash="85be927a38b266c002de21361750258b"/><file name="MethodTagRetrieverInterface.php" hash="c4d5cc06aef79950ccecc5ee7af5ca86"/></dir><dir name="Prediction"><file name="CallPrediction.php" hash="67daacc4a6b9459c26296c802dc1deb9"/><file name="CallTimesPrediction.php" hash="0520ef717700b336a2bf0d22d70a8f45"/><file name="CallbackPrediction.php" hash="5d84ba63c7c89b9b98060732e0587a98"/><file name="NoCallsPrediction.php" hash="d9620665b37964272b78b4ad2168f827"/><file name="PredictionInterface.php" hash="4bfabdd011ab9f5e131513461434b65e"/></dir><dir name="Promise"><file name="CallbackPromise.php" hash="7a47d1a048617a92266a7d7c38a7a2d0"/><file name="PromiseInterface.php" hash="2953e6fabbc77033aeee7f0aa8ab0ed6"/><file name="ReturnArgumentPromise.php" hash="603cf51c98c32e64a09bb56dfc378a40"/><file name="ReturnPromise.php" hash="6369ed3e29a23333e50af5d7673aec21"/><file name="ThrowPromise.php" hash="11517d8202d62126838bdad3875d5357"/></dir><dir name="Prophecy"><file name="MethodProphecy.php" hash="b2f87de0aefd3f176eb54811f9773b9e"/><file name="ObjectProphecy.php" hash="5aeec89e1f96ec774279f6baa9b3a49f"/><file name="ProphecyInterface.php" hash="aeb552a0e474ab59f2fb2d6abaa7ba83"/><file name="ProphecySubjectInterface.php" hash="7c766011d2b710488d762dad88591ed4"/><file name="Revealer.php" hash="ddc6c76e8e4e1c3fe089d9333e3aa696"/><file name="RevealerInterface.php" hash="3f18f735e13efc4fdb1ca069bb55fc2b"/></dir><file name="Prophet.php" hash="f76fca6cd9f03d5fb864d0524c2dc871"/><dir name="Util"><file name="ExportUtil.php" hash="5a19031249c10144174376c4c95a7b45"/><file name="StringUtil.php" hash="3d2eab568dcc8044fa11903c1fc0dd50"/></dir></dir></dir><file name=".gitignore" hash="5bda62fc1d83933fbfdf0c7f62fdf039"/><file name=".travis.yml" hash="39cdebd02a318abd7335ccc3df4b1f00"/></dir></dir><dir name="phpunit"><dir name="php-code-coverage"><file name="CONTRIBUTING.md" hash="4fadd77d541014c03e7d8644a2a9f81f"/><file name="ChangeLog-2.2.md" hash="5260a57175e43a182b812f8656812c96"/><file name="LICENSE" hash="867b7deb79978088daacdf21d0edbf2b"/><file name="README.md" hash="2d75438bcf5bcd6397f3c3820ec9b4a1"/><dir name="build"><file name="travis-ci.xml" hash="1176916b2733dda758e4a76938408493"/></dir><file name="build.xml" hash="018f91345ffa3f12ae812ef4133f7ddc"/><file name="composer.json" hash="aa87a8cd6ede8c419fa85cd46569d5a8"/><file name="phpunit.xml.dist" hash="7be2b25c9993369435eb187ea89bfa26"/><dir name="scripts"><file name="auto_append.php" hash="1f894beb45e5f1af9d3b3f2e770b8898"/><file name="auto_prepend.php" hash="3864daef243ecda1ad504069528ea5f0"/></dir><dir name="src"><dir name="CodeCoverage"><dir name="Driver"><file name="HHVM.php" hash="e13976cb29562db97ee7c1ecb9074dea"/><file name="PHPDBG.php" hash="69be060ff0748db5e771b6dd997011c9"/><file name="Xdebug.php" hash="39ddcb27f385329de70c2a7fd1a380b8"/></dir><file name="Driver.php" hash="506df8e1566386715cd354cafca76ce1"/><dir name="Exception"><file name="UnintentionallyCoveredCode.php" hash="26245a94eb787713993157c93cc5939d"/></dir><file name="Exception.php" hash="5551859cbb46a557cf61fe5c3ca14555"/><file name="Filter.php" hash="1a084f9ef8d28a0d070e13abee0f78d0"/><dir name="Report"><file name="Clover.php" hash="3d8676f18b867b8cadfd581179bbe439"/><file name="Crap4j.php" hash="14f40d5e1a0bd5af70edd5697d5facd4"/><file name="Factory.php" hash="b2eb20c097f79379029a13483df03208"/><dir name="HTML"><dir name="Renderer"><file name="Dashboard.php" hash="2e9014188032173ff79d11e2ad9a3630"/><file name="Directory.php" hash="635741ec9084e4ff4b37625bcaa2c386"/><file name="File.php" hash="812a381032c2c956847733ac48f29095"/><dir name="Template"><file name="coverage_bar.html.dist" hash="8d5207f9b047c474b0462694d1aa7472"/><dir name="css"><file name="bootstrap.min.css" hash="eedf9ee80c2faa4e1b9ab9017cdfcb88"/><file name="nv.d3.min.css" hash="9b3fa55fa15548f646827ff8351f6a3a"/><file name="style.css" hash="1c0bb4a912e02519d339f46ce2f21205"/></dir><file name="dashboard.html.dist" hash="1c27e95e1f17c653b54b72cf2b1e670a"/><file name="directory.html.dist" hash="52acdeb1a85b33f02de507381bca87ed"/><file name="directory_item.html.dist" hash="0c6a7df69c666ddfa176648f08f4d65f"/><file name="file.html.dist" hash="19529297978385c0517be3dde3fa8105"/><file name="file_item.html.dist" hash="e64a3f30539de5f72c6a1ba3ff21afef"/><dir name="fonts"><file name="glyphicons-halflings-regular.eot" hash="f4769f9bdb7466be65088239c12046d1"/><file name="glyphicons-halflings-regular.svg" hash="89889688147bd7575d6327160d64e760"/><file name="glyphicons-halflings-regular.ttf" hash="e18bbf611f2a2e43afc071aa2f4e1512"/><file name="glyphicons-halflings-regular.woff" hash="fa2772327f55d8198301fdb8bcfc8158"/><file name="glyphicons-halflings-regular.woff2" hash="448c34a56d699c29117adc64c43affeb"/></dir><dir name="js"><file name="bootstrap.min.js" hash="8c237312864d2e4c4f03544cd4f9b195"/><file name="d3.min.js" hash="5936da7688d010c60aaf8374f90fcc2b"/><file name="holder.min.js" hash="dc575f4af6aa1f9220acf8f206c1c8ec"/><file name="html5shiv.min.js" hash="3044234175ac91f49b03ff999c592b85"/><file name="jquery.min.js" hash="895323ed2f7258af4fae2c738c8aea49"/><file name="nv.d3.min.js" hash="b7dee5ded6402c555c411df56c4b16a3"/><file name="respond.min.js" hash="afc1984a3d17110449dc90cf22de0c27"/></dir><file name="method_item.html.dist" hash="e5e0b83fc92fc1f88a53b42b2ef1a561"/></dir></dir><file name="Renderer.php" hash="de21a510e5de184717e1e80c7a39726d"/></dir><file name="HTML.php" hash="4daa7b378cdfd8d55b44c81b52df3e68"/><dir name="Node"><file name="Directory.php" hash="0de76dffb80c0b992f93e9a929a10382"/><file name="File.php" hash="2b53005da550aed6abb990d9d0184dab"/><file name="Iterator.php" hash="7efb565beca9d34a756c9be41762517f"/></dir><file name="Node.php" hash="422619ba51fc72d62c421c248d6be1fb"/><file name="PHP.php" hash="c8306a1ab3aa3fbd0441a940d521e94c"/><file name="Text.php" hash="3fcec9caf3585aa8815aeb6ec736c5ed"/><dir name="XML"><file name="Directory.php" hash="e5e258a6bd4b703dcf130ee3f245d716"/><dir name="File"><file name="Coverage.php" hash="d85164e39cb0f2b6da3e2517619e8e57"/><file name="Method.php" hash="fe541aad6246655a8b7c5c0f8f925a57"/><file name="Report.php" hash="c8085242da1ba34c5481714dbabb7c4b"/><file name="Unit.php" hash="6b0505bd0c6558bbaf68df6e244e1c99"/></dir><file name="File.php" hash="8dc39e34b45e9b6015386ee785859424"/><file name="Node.php" hash="a4290554318aab84fe0eceba576297c8"/><file name="Project.php" hash="b7e5399e11a9b82b1c047757ab38cd4a"/><file name="Tests.php" hash="4de3958fc2935ad4a506fa513d9bbfb1"/><file name="Totals.php" hash="504d4da3dfd2994b452192ce724c33ec"/></dir><file name="XML.php" hash="34b570eb4a574658f68cd9a32eb76057"/></dir><dir name="Util"><file name="InvalidArgumentHelper.php" hash="49e4995373f201811fc3811cd117fbdf"/></dir><file name="Util.php" hash="34699504f6e71400fbe315e7b0d87707"/></dir><file name="CodeCoverage.php" hash="e5bb4dc3701f53dc8484e64234d83bfb"/></dir><dir name="tests"><dir name="PHP"><dir name="CodeCoverage"><file name="FilterTest.php" hash="1c0b8d42b7089a867a46d93cf5975f1a"/><dir name="Report"><file name="CloverTest.php" hash="f33f02ed90a54ca45e270b5f69632686"/><file name="FactoryTest.php" hash="b3902ac21c5f29ceab0745b895092863"/></dir><file name="UtilTest.php" hash="be3ca34762f174a781d1bc38cc9ea033"/></dir><file name="CodeCoverageTest.php" hash="4cf110010405cd85614998e1e66eaf54"/></dir><file name="TestCase.php" hash="d5f070df31ba4e4303859b5e928d4ed7"/><dir name="_files"><file name="BankAccount-clover.xml" hash="8fb2e8875a0519dfe41051766d4fa312"/><file name="BankAccount.php" hash="1fa57c931da01a8107b82bcf4b1fb15c"/><file name="BankAccountTest.php" hash="2f9dce84cfd563b443d2e0257e084f58"/><file name="CoverageClassExtendedTest.php" hash="ef2336d55ae02703b0c608e2c86a835a"/><file name="CoverageClassTest.php" hash="88af4d7c4b557e78f886453857b00612"/><file name="CoverageFunctionParenthesesTest.php" hash="c7fef2fb7f51150a660844b997ee4c37"/><file name="CoverageFunctionParenthesesWhitespaceTest.php" hash="ec5d778e1a37d1a190c40a9acec55a65"/><file name="CoverageFunctionTest.php" hash="39bec3b0b9db30f67bc23896018b7e15"/><file name="CoverageMethodOneLineAnnotationTest.php" hash="d229ea18df6ca5eabe0e9f42cdfec897"/><file name="CoverageMethodParenthesesTest.php" hash="889346c35550fe4a3f4caa0838136f9f"/><file name="CoverageMethodParenthesesWhitespaceTest.php" hash="79096a31b12bb716119c4ae5021114d5"/><file name="CoverageMethodTest.php" hash="736839b87afcbfa16f75a87170b2eaf2"/><file name="CoverageNoneTest.php" hash="1ef0636da95daaf6a8bda6991df078e4"/><file name="CoverageNotPrivateTest.php" hash="b64af610121292153da0681b2328e3ec"/><file name="CoverageNotProtectedTest.php" hash="d090bd61f1ddf98f5b1d5a4e9b74558a"/><file name="CoverageNotPublicTest.php" hash="fed43600690b9cdaba323037b43b47b4"/><file name="CoverageNothingTest.php" hash="64332f588c6c1a09651b9d54d0a90dd3"/><file name="CoveragePrivateTest.php" hash="fdd0b16f24305076c51df8781a9d788c"/><file name="CoverageProtectedTest.php" hash="c12e2728b065e19203543dfe515827b2"/><file name="CoveragePublicTest.php" hash="c2df1e89a58b9382dcddbc17280db2eb"/><file name="CoverageTwoDefaultClassAnnotations.php" hash="73657242a6cc3db3203540430eb5aea1"/><file name="CoveredClass.php" hash="3fb30247bee83f69ab4102b1debf0e3e"/><file name="CoveredFunction.php" hash="38958a75f33a86b704f96f50cbc6548d"/><file name="NamespaceCoverageClassExtendedTest.php" hash="6ee65961bef48fcbd29dc32c1cd1b214"/><file name="NamespaceCoverageClassTest.php" hash="303c79ca84dd5185cbe3523be856be76"/><file name="NamespaceCoverageCoversClassPublicTest.php" hash="196ba19fc47ab47727515c2378fb7673"/><file name="NamespaceCoverageCoversClassTest.php" hash="c8aca2dafd7f838c8ad3a1a37494b2b1"/><file name="NamespaceCoverageMethodTest.php" hash="65d34371a30cf070c32af9e748057cd7"/><file name="NamespaceCoverageNotPrivateTest.php" hash="72f092fa88a601e0c6b879e79f342ec7"/><file name="NamespaceCoverageNotProtectedTest.php" hash="6a4e3044f4170ae6526449bc31f04480"/><file name="NamespaceCoverageNotPublicTest.php" hash="3ef83ceab1ef56e48c564f53e5abc007"/><file name="NamespaceCoveragePrivateTest.php" hash="9db671d755ccc81cd789fd099404e634"/><file name="NamespaceCoverageProtectedTest.php" hash="e55f9e06a7ac37584bb21428023a3ecd"/><file name="NamespaceCoveragePublicTest.php" hash="cfb91dec22992ab23414c869055e4195"/><file name="NamespaceCoveredClass.php" hash="71017e733b94b3c63316bab6b4a3a405"/><file name="NotExistingCoveredElementTest.php" hash="6d7f8db98965f803878906e6510fe14a"/><file name="class-with-anonymous-function-clover.xml" hash="c324b59352780ed63811eeec343f5d72"/><file name="ignored-lines-clover.xml" hash="05add787a4062f527ba523ea53e59d43"/><file name="source_with_class_and_anonymous_function.php" hash="c713c0fce3b2753cdc6d91fef1bf89b8"/><file name="source_with_ignore.php" hash="0c13dc04fb19a7e9ba89d766ab9a18e4"/><file name="source_with_namespace.php" hash="329f39af4321bad66d28fbf11764e45a"/><file name="source_with_oneline_annotations.php" hash="e96b8b72e308bd417b6699fcbef673ac"/><file name="source_without_ignore.php" hash="04a707fa08b9df780bec3dbf2fc6b074"/><file name="source_without_namespace.php" hash="7316c8e4818931d5521a3c590b14f999"/></dir></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="af764bbd47d332bb257d91ed27620e7a"/><file name=".travis.yml" hash="a1e8e6b3e8e2dfef48c9ff69e70c81a0"/></dir><dir name="php-file-iterator"><file name="ChangeLog.md" hash="2e12c467e0899c3739eabc4c6a1ec4b2"/><file name="LICENSE" hash="3e71f43ff2c0d752dbd23c76da32a94f"/><file name="README.md" hash="5e672bf227e1bfb9c4a1001f456b68cf"/><file name="composer.json" hash="a4c765abf57e13cea89ffb36ae2c3694"/><dir name="src"><file name="Facade.php" hash="96877974aafc0e49033ce055c8cd2a1a"/><file name="Factory.php" hash="4334b71e5afe5091f3107d0475699fd6"/><file name="Iterator.php" hash="94ad0f39361843333f077a6ebfd6c332"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="7d546184afdfb50fac3c2ac149eb26d2"/></dir><dir name="php-text-template"><file name="LICENSE" hash="f49c9b8bb76bdccb7c22fbde6d22757f"/><file name="README.md" hash="5808c106de3fda4abf60f48b951ae997"/><file name="composer.json" hash="bd682e2f2339f962e5991fc90a52b67c"/><dir name="src"><file name="Template.php" hash="0543ca1facab9f263808a5f1f730f092"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="6c7475208ca90f89353dafbf6161264a"/></dir><dir name="php-timer"><file name="LICENSE" hash="481839914f345c664d5dea21b1d04c3f"/><file name="README.md" hash="6a859a475dee683cc301e68df49df909"/><file name="composer.json" hash="dd6d60f5a6dbc24bf1017caff198a33c"/><dir name="src"><file name="Timer.php" hash="5fbe3ab23b93aa110348ddf634778d12"/></dir><dir name="tests"><file name="TimerTest.php" hash="88cd933bdc06a5d1fecad0908465260a"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="232d3afeb14a88aef70e4e24fbab9e54"/><file name=".travis.yml" hash="859188c6715499e835b371b7a6e0faba"/></dir><dir name="php-token-stream"><file name="LICENSE" hash="b4f42b89683b8003b2041d565bf2c225"/><file name="README.md" hash="c048364d3bcfff33d0dee7518dfb8d29"/><dir name="build"><file name="phpunit.xml" hash="4de22e7e36999f962d1e8e5d7f735412"/></dir><file name="build.xml" hash="4707c6e9f86cae86bf16b561170cc060"/><file name="composer.json" hash="dfa10f4977d247d2ee0e8def26c5892f"/><dir name="src"><dir name="Token"><dir name="Stream"><file name="CachingFactory.php" hash="ae8459fadfe3ff3e4dfa1a51c15a3fc2"/></dir><file name="Stream.php" hash="fa4ca407084bd134aa3630a4aa412179"/></dir><file name="Token.php" hash="5a2550ab83f5420edc337c1ef8e6f780"/></dir><dir name="tests"><dir name="Token"><file name="ClassTest.php" hash="cc05517f09ba0a0a39b23bc43fdfcd07"/><file name="ClosureTest.php" hash="ced9ff421a6eac670f576fe5b0a2dcb6"/><file name="FunctionTest.php" hash="98c4a4b7bc21b159cd50f18f3582154a"/><file name="IncludeTest.php" hash="85b9a79f6bfce83bb8c3ce3af2b045c3"/><file name="InterfaceTest.php" hash="ed019913c65070d78abe99258a4a24be"/><file name="NamespaceTest.php" hash="863ca9edae472d00bfff63ce44ebdc84"/></dir><file name="TokenTest.php" hash="9d6b98c38a6354473a87f73fe4ee95bc"/><dir name="_fixture"><file name="classExtendsNamespacedClass.php" hash="22764f0b6de09293c3d4eaf55bc7163e"/><file name="classInNamespace.php" hash="1e6de40ec066648e61e0769485470523"/><file name="classInScopedNamespace.php" hash="49c3594e191b195f6c83ff1394bd1a81"/><file name="class_with_method_that_declares_anonymous_class.php" hash="329c904e158590b64cd11ce769953a74"/><file name="class_with_method_that_declares_anonymous_class2.php" hash="dcc6e71046486f885822d23060044f16"/><file name="closure.php" hash="5cdbae1c9428035a37488f32d17c0665"/><file name="issue19.php" hash="f5d881f3dc31f7ac2ae703f17056d753"/><file name="issue30.php" hash="19278ce048443a651605700d98456a06"/><file name="multipleNamespacesWithOneClassUsingBraces.php" hash="e8ac69199b7abd47aaf149846fe164c3"/><file name="multipleNamespacesWithOneClassUsingNonBraceSyntax.php" hash="6d1cf17489cd1307bd676d08a688b23a"/><file name="source.php" hash="1b601d088df48aa597db3a2503144ec1"/><file name="source2.php" hash="3536fd82479484d26d2cb47f28f21b5e"/><file name="source3.php" hash="a5cd42729c1bcb391a76f649774244db"/><file name="source4.php" hash="192c5f3fb62d9ec0a27b8946348038c7"/><file name="source5.php" hash="8f5de89985fc45a55da7a25a711f9969"/></dir><file name="bootstrap.php" hash="a49ea225267e4c24fcb24be989b3241d"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="36cf69e03afaa72b500778a987d5b0d7"/><file name=".travis.yml" hash="a3f0f14cf02c5d2f27c98c912337d10c"/></dir><dir name="phpunit"><file name="CODE_OF_CONDUCT.md" hash="96c8ada4da9dc4ed29a5a94c5b3e1978"/><file name="CONTRIBUTING.md" hash="ea4d5df005a5481f05e4b7c44bb35452"/><file name="ChangeLog-4.0.md" hash="35f79a5addfb4406d03bcf40cdefc363"/><file name="ChangeLog-4.1.md" hash="bc4af1436594670427d0fd69209fef65"/><file name="ChangeLog-4.2.md" hash="88b7e91af3b1c4ba2bb1a2d0f1eec2c9"/><file name="ChangeLog-4.3.md" hash="6f770f6bdd2d920f8db85ba16364d4b6"/><file name="ChangeLog-4.4.md" hash="96715ce3eed29f0aeb9d818f584c3d9c"/><file name="ChangeLog-4.5.md" hash="9b5ed1bd78c914fa4b3d8320945185bd"/><file name="ChangeLog-4.6.md" hash="e7659ffe60e9bf9d66708b4ed304cc39"/><file name="ChangeLog-4.7.md" hash="8bd8ed13e790792d877398eb26f8e1cc"/><file name="ChangeLog-4.8.md" hash="a2e8affc2c3c4d7018cfa5ec07cf6424"/><file name="LICENSE" hash="b997e5811f2fede8ffad410ebe280176"/><file name="README.md" hash="3ef91f17d44ecec49c60ff87023eb508"/><file name="build.xml" hash="bb34c0917f5378c22e262ff234055738"/><file name="composer.json" hash="362d7b150d6ce8e0f2b9adc849eb4d39"/><file name="phpunit" hash="a0a409545298664e3123f29654d4e350"/><file name="phpunit.xml" hash="f411f04f681f3df76f47736e9bb0a18d"/><file name="phpunit.xsd" hash="fe2f0c5a4490c24353b2e636f9edd522"/><dir name="src"><file name="Exception.php" hash="6d0901a3d39c947efa435bcff77ce674"/><dir name="Extensions"><file name="GroupTestSuite.php" hash="f12b6a182fc01ffee9e0ec37bd065bd1"/><file name="PhptTestCase.php" hash="3ae757bdd71c74e39ea97b946a612cd4"/><file name="PhptTestSuite.php" hash="3b5d0f67b7694529c5e9372538ada473"/><file name="RepeatedTest.php" hash="625b224cfda7acebdc67dbe34a7ef60b"/><file name="TestDecorator.php" hash="94ea35f8f877180b4e6a493f11c55086"/><file name="TicketListener.php" hash="eaa0e7d4044c0ed4b1aa819b07e5aaa0"/></dir><dir name="Framework"><dir name="Assert"><file name="Functions.php" hash="ddd500c7299b71c818c5bdf369d2bfa0"/></dir><file name="Assert.php" hash="c7c09ff14917ecdfc6f5ad8bfd765213"/><file name="AssertionFailedError.php" hash="6d08a7f0b6ea30ef0e7898dc72204619"/><file name="BaseTestListener.php" hash="beef0cf010b5174b538cd293611c18ff"/><file name="CodeCoverageException.php" hash="8effab2316d70a17bd9afec758f541d0"/><dir name="Constraint"><file name="And.php" hash="07ca11a7735d26170a94c2cead8c32bc"/><file name="ArrayHasKey.php" hash="f3c0409d467682dfdd5f4f9042e528de"/><file name="ArraySubset.php" hash="828c61a5eaf3863af946d8c5b435bea2"/><file name="Attribute.php" hash="948a6cb40da67a9815ca845e3196dde0"/><file name="Callback.php" hash="e5bd619b183e24a4cda4270b24d1a7f9"/><file name="ClassHasAttribute.php" hash="7177a342d3f84b954f290d4559a5f2a7"/><file name="ClassHasStaticAttribute.php" hash="c7fc56b50e3926d6d034c9a8ba5efd7c"/><file name="Composite.php" hash="551aab050b0c4f0f846c62b49cef9acc"/><file name="Count.php" hash="926db5dfb9a0494f26c6878e0c1ed1cd"/><file name="Exception.php" hash="c992b9af5864643f5fc90927192c4050"/><file name="ExceptionCode.php" hash="f43e5868369ab7230483b46f9454c33b"/><file name="ExceptionMessage.php" hash="02e59a324f1368027468205d8163338d"/><file name="ExceptionMessageRegExp.php" hash="c18b12121ac14948bd7f2ff21d92a5e3"/><file name="FileExists.php" hash="7674b36899bc3feffc7ae963c225389c"/><file name="GreaterThan.php" hash="fca17ec93f66321cfacfdd9bcaf5a191"/><file name="IsAnything.php" hash="5cf02d4d961c556457f4aab14867ee16"/><file name="IsEmpty.php" hash="5a0cd67d3df6955f05dde94686dda1cd"/><file name="IsEqual.php" hash="870e782769ae1399a6a545eec832d6a1"/><file name="IsFalse.php" hash="1762858daa4894ccaa1387f08c832cab"/><file name="IsIdentical.php" hash="facb82816e405169722ce4ffe847d8e7"/><file name="IsInstanceOf.php" hash="e5b21790a2ac1add0305d5169d6d8b9c"/><file name="IsJson.php" hash="672e98649b18ff2ca7aeb8142307b2ce"/><file name="IsNull.php" hash="d85d6bcaa67d0b8d9de92b6dd8d85299"/><file name="IsTrue.php" hash="3dc0618444b495cbe9a242660f44cb0c"/><file name="IsType.php" hash="da5b829e3f2b830e1de8b55f1bb67d7e"/><dir name="JsonMatches"><file name="ErrorMessageProvider.php" hash="33b01ea8a6e4ab0f5b6da6e4d504cf2a"/></dir><file name="JsonMatches.php" hash="7211001fb8d188e48c7bbc69d0e9f6e6"/><file name="LessThan.php" hash="97d879d6943905d81d68d3145c263c49"/><file name="Not.php" hash="ecbfbaaec61a4a76664b55baa3d91340"/><file name="ObjectHasAttribute.php" hash="b1fb8494a9cffba0aa03c44370d2ca09"/><file name="Or.php" hash="7ec7e9e62153168563cda792eb4059eb"/><file name="PCREMatch.php" hash="312f28b7303f88db58041c37041713e4"/><file name="SameSize.php" hash="9236e23b510a98540e323ba0651204fb"/><file name="StringContains.php" hash="b6ed4431c163a1dd9fa34ac368c63339"/><file name="StringEndsWith.php" hash="ab79a5f49f5e00fe283c578031a4617c"/><file name="StringMatches.php" hash="2c7631a70cdf5872a6157d45219efda5"/><file name="StringStartsWith.php" hash="2abac2d8bcfea73a4e39c318e01fe672"/><file name="TraversableContains.php" hash="997173277048e265be5608775a0070f6"/><file name="TraversableContainsOnly.php" hash="97bfc0c3eb6d782b39f571557fcd8c91"/><file name="Xor.php" hash="24c63046a1329d9332ac6427b90cd062"/></dir><file name="Constraint.php" hash="9be646794eb34a6283cbea63ca4c18d9"/><dir name="Error"><file name="Deprecated.php" hash="b199c6c97e822f4a63552d21fd557ed3"/><file name="Notice.php" hash="448fff9194b06c5bccfacc3f8926ead0"/><file name="Warning.php" hash="ef6983832beab060a47e587d17318236"/></dir><file name="Error.php" hash="1a46753a43260a3c6cca9beb3041ea3f"/><file name="Exception.php" hash="6ab8d5c010d19a5cd362ac80b2ea0e17"/><file name="ExceptionWrapper.php" hash="96746f8c3b7d6d3e6e198cba52bc0514"/><file name="ExpectationFailedException.php" hash="bf627422d6cf4fd920907d9621ad141c"/><file name="IncompleteTest.php" hash="aea347db7fbc7fcc6addb7e3d40538fa"/><file name="IncompleteTestCase.php" hash="26aa675a2e392ec49c5ff87710a409a0"/><file name="IncompleteTestError.php" hash="09f74996d0dfe6aadc226065bbe3742b"/><file name="InvalidCoversTargetError.php" hash="2bd6eaa763fcb1e771ffabc8d517a13c"/><file name="InvalidCoversTargetException.php" hash="1f22663ee7c810b28eed42ab0ca41747"/><file name="OutputError.php" hash="a1ab2849d52729d8ebc1e6a59b24e348"/><file name="RiskyTest.php" hash="bcf7a99c0938116de8493769ad3d1284"/><file name="RiskyTestError.php" hash="0c1b78f2d9e211c93ee9a7008c755cd7"/><file name="SelfDescribing.php" hash="f4e4be0ba8fd637ee56e0033b53448ab"/><file name="SkippedTest.php" hash="acf2f8fbdc58184779d74c6bd7244a82"/><file name="SkippedTestCase.php" hash="bb53f6293d8445d88a0cba8c376139e7"/><file name="SkippedTestError.php" hash="36a8da359535c33a6110c97fbd63e06e"/><file name="SkippedTestSuiteError.php" hash="716c0040cd081b02b01ee6448f82bfad"/><file name="SyntheticError.php" hash="1e2e6f081e7f24abfeab225285afa0d5"/><file name="Test.php" hash="dae786e9d58f68dd5f8eb066de2841e9"/><file name="TestCase.php" hash="c912b82a985cb008922fd8c9577883eb"/><file name="TestFailure.php" hash="a811d8638ee6ccac237861048bd689f4"/><file name="TestListener.php" hash="cc1312df06fe1c096f8ad74e282e130b"/><file name="TestResult.php" hash="f01f5872e082455edf98ba9bdb5c131b"/><dir name="TestSuite"><file name="DataProvider.php" hash="36fc17f67adc17d2a1d46a08ef82547c"/></dir><file name="TestSuite.php" hash="26541f701fac4c5992f26d2e2ef351c9"/><file name="UnintentionallyCoveredCodeError.php" hash="beab3ae23f7f822b6937df4b22e9e451"/><file name="Warning.php" hash="d459d1b075c0f644734b392bd7beb81a"/></dir><dir name="Runner"><file name="BaseTestRunner.php" hash="2274d5111f9177aebd80b72b96d59836"/><file name="Exception.php" hash="f49bc91be91c32d573d977b002c8fd4d"/><dir name="Filter"><file name="Factory.php" hash="0d76510517f5ead5d8c092dc792eae1e"/><dir name="Group"><file name="Exclude.php" hash="6a18ba6d0a73586d61021ec4e5a0ce90"/><file name="Include.php" hash="f693455a891062efe058959167e01e41"/></dir><file name="Group.php" hash="a2cd7d5337b9e1f47cea378c96d59007"/><file name="Test.php" hash="075c9bf7fc13871cb419f473803e618b"/></dir><file name="StandardTestSuiteLoader.php" hash="cf1d590893d22a5a1b343d16b0d8997f"/><file name="TestSuiteLoader.php" hash="e98d44fe7dbcc15d8b47e49902d09fd6"/><file name="Version.php" hash="91e07893e9c4dededf7c0b821c48cb3b"/></dir><dir name="TextUI"><file name="Command.php" hash="241aeceb45d6d609df5565f88fe75bae"/><file name="ResultPrinter.php" hash="cdbe6aa8ffc7a85f53f5b88130dbf189"/><file name="TestRunner.php" hash="5564e26a0f2396efa4a749eadb5e7888"/></dir><dir name="Util"><file name="Blacklist.php" hash="5e3587d230ae16d758a90032bdd09b4f"/><file name="Configuration.php" hash="0f759b9db332a1a143d9184e3c8f2d60"/><file name="ErrorHandler.php" hash="6b1078da1cfcbba0dc73412e9948d705"/><file name="Fileloader.php" hash="6520ba6efbabfd0407e3f774654ce9fa"/><file name="Filesystem.php" hash="1c1ab7020f15268d164c12d0f0e57be5"/><file name="Filter.php" hash="317782716120846b01392b11266c7a44"/><file name="Getopt.php" hash="42f53e3f03af6b361732bae8d71132fd"/><file name="GlobalState.php" hash="a196c15ed3efed57d67f23074389dfa8"/><file name="InvalidArgumentHelper.php" hash="2de830ec9daa15b0445979f65ea13589"/><dir name="Log"><file name="JSON.php" hash="968339cd420ecb7d11c8dd31194a73b9"/><file name="JUnit.php" hash="a8f56ad7c665c724d4a7e04a06427721"/><file name="TAP.php" hash="77407b5762c356250ab86c27c6defe8d"/></dir><dir name="PHP"><file name="Default.php" hash="a42766615bc2f8f5ada02cd949547208"/><dir name="Template"><file name="TestCaseMethod.tpl.dist" hash="a30ef8202f3018ef7733fa8e1bf57370"/></dir><file name="Windows.php" hash="cda6f70d3037de6f23382296a0d67d67"/><file name="eval-stdin.php" hash="120ac49800671dc383b6f3709c25c099"/></dir><file name="PHP.php" hash="b3ece2f9811e11b4fcb7be069a3c72d7"/><file name="Printer.php" hash="bf8cd1d0ff033ee7b42c193be897dcf0"/><file name="Regex.php" hash="96920e8abeb6d124f5ad04b54ec45f78"/><file name="String.php" hash="a0ec4f40eb7e02a441d54dcfa912e75c"/><file name="Test.php" hash="36047d9bf61facab30ba870b2a2d7565"/><dir name="TestDox"><file name="NamePrettifier.php" hash="d31ae7ffaa33cfb33cfb674272ba51b9"/><dir name="ResultPrinter"><file name="HTML.php" hash="91028e549a0457e7bef8f922fd175376"/><file name="Text.php" hash="b5010b94407923d7bb6abbf35b6c290c"/></dir><file name="ResultPrinter.php" hash="4a1c8be23c0ac132c94c3ec41dc21117"/></dir><file name="TestSuiteIterator.php" hash="032e8098534d0e4833c4976b65a7a86e"/><file name="Type.php" hash="35bb108ad6d9621aecb663929d6960d9"/><file name="XML.php" hash="8a6046b6aaac2a3454cbb6a28a3cb6e6"/></dir></dir><dir name="tests"><dir name="Extensions"><file name="PhptTestCaseTest.php" hash="a2e99c5d0924247781bc999870b42e36"/><file name="RepeatedTestTest.php" hash="971c702bdf6cb6c92c184261081f00fb"/></dir><dir name="Fail"><file name="fail.phpt" hash="2d7af6d43c5d4874c0d6b83e7becd959"/></dir><dir name="Framework"><file name="AssertTest.php" hash="9907f197b1aa386f1f0109467a354583"/><file name="BaseTestListenerTest.php" hash="4ffe4f146a2c7525366e437caa8b2bf8"/><dir name="Constraint"><file name="CountTest.php" hash="788bea391a6efd2ab01b37c146714c4d"/><file name="ExceptionMessageRegExpTest.php" hash="d5e6b946cab4a74f4459f0fcf0260ea6"/><file name="ExceptionMessageTest.php" hash="2b4828334f0a8210a5b7780734a19848"/><dir name="JsonMatches"><file name="ErrorMessageProviderTest.php" hash="7218def37e14c196b4045cb421d2f08f"/></dir><file name="JsonMatchesTest.php" hash="9174f7bfd7acf10766a65fcf6bb3ce87"/></dir><file name="ConstraintTest.php" hash="f3b436b5cd5b1ef4949d8190a5b73bd1"/><file name="SuiteTest.php" hash="3757df00d87902f99b75797d09439384"/><file name="TestCaseTest.php" hash="238e2b8774eafc901d998875238a2508"/><file name="TestFailureTest.php" hash="6127b62c702bf0eff8a4277a70aa30e6"/><file name="TestImplementorTest.php" hash="8e8705fc3161361b02cf43e4cf565ca8"/><file name="TestListenerTest.php" hash="86efb7d03940709e268d97bdc1e2155c"/></dir><dir name="Regression"><dir name="GitHub"><dir name="1149"><file name="Issue1149Test.php" hash="425d9176092c931ba74590ac19c525d2"/></dir><file name="1149.phpt" hash="dd2ff6b57a29700f8db0646cd6a0de15"/><dir name="1216"><file name="Issue1216Test.php" hash="f7054d3483162ebfff9bb56cabd155ee"/><file name="bootstrap1216.php" hash="73053c8bd724afea9aa9912ce554b855"/><file name="phpunit1216.xml" hash="0f048580fbb0cf27279158557bb15561"/></dir><file name="1216.phpt" hash="efb597d456654bfc2de9643437733d01"/><dir name="1265"><file name="Issue1265Test.php" hash="b21d6261042b448c2aa40c8cc9069c7e"/><file name="phpunit1265.xml" hash="a66e517dde190f30fc1b61216f7591a6"/></dir><file name="1265.phpt" hash="33f640b073b729e0b577326c40174ab3"/><dir name="1330"><file name="Issue1330Test.php" hash="7df5d2b128f6ee707928ddf594d85e1c"/><file name="phpunit1330.xml" hash="d1007e96e73c66b9e781e64e4f62ea45"/></dir><file name="1330.phpt" hash="c7023a65cc02ae56149019e698cc7f3f"/><dir name="1335"><file name="Issue1335Test.php" hash="f2f331629d6d64a3f6a6508c08c84726"/><file name="bootstrap1335.php" hash="bfd3e2aa9100796977fb3547745b510c"/></dir><file name="1335.phpt" hash="05c3c7e749d70fc975354237b4df3c21"/><dir name="1337"><file name="Issue1337Test.php" hash="e1a02679efacd3951a9d571b07bdee4a"/></dir><file name="1337.phpt" hash="443dc5055fb9ce89caa946f0aaa51804"/><dir name="1348"><file name="Issue1348Test.php" hash="5a9fe5d48a217441707d4673b80741cc"/></dir><file name="1348.phpt" hash="54bd433535bf9691710b733968404654"/><dir name="1351"><file name="ChildProcessClass1351.php" hash="25d51d3aef75c8d96fdf307b4f10549a"/><file name="Issue1351Test.php" hash="cb94f6ecff4ebf6fba7670dc377400a1"/></dir><file name="1351.phpt" hash="ec809721443216b432d46816d0f735f8"/><dir name="1374"><file name="Issue1374Test.php" hash="3c49950d46659edb72a14aecb2d4fec5"/></dir><file name="1374.phpt" hash="82ec4b2f9e62c78e668fe6bd660d47d5"/><dir name="1437"><file name="Issue1437Test.php" hash="aa097597adc21b07c037582a9741360e"/></dir><file name="1437.phpt" hash="beab8cada61ef6ac269bfe50699119dc"/><dir name="1468"><file name="Issue1468Test.php" hash="b8717c126177a99bc08c5593f931e83b"/></dir><file name="1468.phpt" hash="d6ba4e49547da60334ed3b5e75b22eb5"/><dir name="1471"><file name="Issue1471Test.php" hash="8ed92f8a30b9c38b74edaf3698b87166"/></dir><file name="1471.phpt" hash="f7637786abb835d84da267118bbe6778"/><dir name="1472"><file name="Issue1472Test.php" hash="90c76206932e387b6dc5a3fb05f9bfb2"/></dir><file name="1472.phpt" hash="7f3b08a114c89ad71258c8c3b318b348"/><dir name="1570"><file name="Issue1570Test.php" hash="3dd90c04d8721e0742d87df4c5a867ae"/></dir><file name="1570.phpt" hash="4d19dc7b77983df2892a530dede4e439"/><dir name="2158"><file name="Issue2158Test.php" hash="42290c1fb13d0cfb1ab62d6c8beb96d5"/><file name="constant.inc" hash="89d5ff53581fb7b22c9558162e90871a"/></dir><file name="2158.phpt" hash="b071d1151f7d289cd358ed7fea4642a6"/><dir name="244"><file name="Issue244Test.php" hash="80e6b70b67d03b771034b31ba5e13975"/></dir><file name="244.phpt" hash="c8b17573c8ef14d370935fbe33b9fe25"/><dir name="322"><file name="Issue322Test.php" hash="f7ece9550d127a7db1e73371084b6cd5"/><file name="phpunit322.xml" hash="52740349f9157b4d562354eb7755fcb3"/></dir><file name="322.phpt" hash="d17915d9652b168556cd2fccb6ffdddd"/><dir name="433"><file name="Issue433Test.php" hash="750347290da446de684515ddd96b7326"/></dir><file name="433.phpt" hash="233c4ec600fdec034c2220d9e11175b9"/><dir name="445"><file name="Issue445Test.php" hash="98dbf7dd7cbaf94df7e1bc21e90be5ea"/></dir><file name="445.phpt" hash="8ee08fa1ac82cdf7e9183825539b08de"/><dir name="498"><file name="Issue498Test.php" hash="014237afc9ad878fda351f83566dc242"/></dir><file name="498.phpt" hash="710a2b5dae00e79eadbba4a2716e4e84"/><dir name="503"><file name="Issue503Test.php" hash="19a70deef0e66846ee17283aedf56a57"/></dir><file name="503.phpt" hash="4d22bc8e8b67e5b70d1752caf3322823"/><dir name="581"><file name="Issue581Test.php" hash="622071238e8de189dec3e6090bb4baae"/></dir><file name="581.phpt" hash="92ad636d97a9498ec95427d58ed8b4c4"/><dir name="74"><file name="Issue74Test.php" hash="46337a72d587a81d6b5cdbb8db8547a3"/><file name="NewException.php" hash="29206ae348775b94088f86e4402a20fe"/></dir><file name="74.phpt" hash="692db4f19699ed79a5334d5c92735403"/><dir name="765"><file name="Issue765Test.php" hash="a5becadf84631e7c558b43689bfd9521"/></dir><file name="765.phpt" hash="521a6a37c147d30e8fd7f9b5818fd595"/><dir name="797"><file name="Issue797Test.php" hash="909612e7522e3fab4cf922b84e847706"/><file name="bootstrap797.php" hash="21f60a4b50e4d3c8be040904243c07a0"/></dir><file name="797.phpt" hash="be20c1a8176dbfdec48a945b07e1f908"/><file name="863.phpt" hash="20428fb95f920373642b20d7cefeed81"/><dir name="873"><file name="Issue873Test.php" hash="859109524d432ea86e7ad0a15b27873e"/></dir><file name="873-php5.phpt" hash="c2e171c43a9f3a11b1b7bf4768cf24e3"/><file name="873-php7.phpt" hash="39e4bbc70765ae3018d61dde6adc2920"/></dir><dir name="Trac"><dir name="1021"><file name="Issue1021Test.php" hash="517a2792d6097c6236c5ef67fe0f95fd"/></dir><file name="1021.phpt" hash="c31d3d6a0ac25eb55d61120c78dd06e1"/><dir name="523"><file name="Issue523Test.php" hash="db3eda437d23db035506bc73f589dbb0"/></dir><file name="523.phpt" hash="01634172ca4ff5549e648782586c4fbe"/><dir name="578"><file name="Issue578Test.php" hash="d07f31cc5c4455fc2c6dc138d93e6a73"/></dir><file name="578.phpt" hash="46f10a78e2a219d4dbed4e537f1718c4"/><dir name="684"><file name="Issue684Test.php" hash="10c74e3921ca25f056407fa46d7c9b9b"/></dir><file name="684.phpt" hash="34af581bfd7e50078f02491ef840bb61"/><dir name="783"><file name="ChildSuite.php" hash="450f56f254fc68177bb1442dc454e487"/><file name="OneTest.php" hash="f558384784c314b9fd548624b065d0de"/><file name="ParentSuite.php" hash="1357c2cef604bfaec07e3a52cb6cd96d"/><file name="TwoTest.php" hash="80c0c32aae2300cc55754ac5757efc1a"/></dir><file name="783.phpt" hash="6bef6640867ef62556455948eb6dfb2c"/></dir></dir><dir name="Runner"><file name="BaseTestRunnerTest.php" hash="86b93a9359e87bf7b3f7c696b8d8f8b6"/></dir><dir name="TextUI"><file name="abstract-test-class.phpt" hash="82822680afb2715b710c7e8cfa8cbb32"/><file name="colors-always.phpt" hash="3ade80437046e24ef31cdb8627efbcb4"/><file name="concrete-test-class.phpt" hash="2f7cb22738039333b4c35c0c24d75fc3"/><file name="custom-printer-debug.phpt" hash="70fb72283afa4033c60fee4a51088d17"/><file name="custom-printer-verbose.phpt" hash="8a5f5fbbafed7cbd1144d0d1eec16516"/><file name="dataprovider-debug.phpt" hash="95446f635308e96c44650a47643eb13b"/><file name="dataprovider-log-xml-isolation.phpt" hash="3fb98ca795365ca57ef95d9b6b6c8e25"/><file name="dataprovider-log-xml.phpt" hash="0564d73169134df8b20ba7955be85390"/><file name="dataprovider-testdox.phpt" hash="0e7e4429b1d84cd95dc29702f769150b"/><file name="debug.phpt" hash="cd7d57b0f6ba49fd9ad9deb6660f4745"/><file name="default-isolation.phpt" hash="01eb45fadf2ac2e34ff60982cd7199be"/><file name="default.phpt" hash="a6395d83668106807f711d64d5189403"/><file name="dependencies-isolation.phpt" hash="206f7e3b8554d45533ca53b421e14744"/><file name="dependencies.phpt" hash="34961d74f568c0a4d793a656ed467a70"/><file name="dependencies2-isolation.phpt" hash="bc0320a2562670622917c44fc32b2767"/><file name="dependencies2.phpt" hash="fac8ded124b2e8037240a6777fa2ef42"/><file name="dependencies3-isolation.phpt" hash="4c70e369c47f0637fde7abfa06a3c2bd"/><file name="dependencies3.phpt" hash="3ddd7411fc9e876d5ed447a68b7ac051"/><file name="empty-testcase.phpt" hash="e9b963bd6a11a277a27bcb87e1461dc8"/><file name="exception-stack.phpt" hash="927da220609329aa81d95d05b5795bab"/><file name="exclude-group-isolation.phpt" hash="8f6736764cbc9ab05d5f2701d57b4b80"/><file name="exclude-group.phpt" hash="120815b1b8a75238bbc00ebe739425af"/><file name="failure-isolation.phpt" hash="e92a90b377278f3aa0d715d85de7dfea"/><file name="failure.phpt" hash="eb59f0c643b2c0278bc72a0db521fda4"/><file name="fatal-isolation.phpt" hash="9dd8d476e1a506b8eaa31eb84482d55d"/><file name="filter-class-isolation.phpt" hash="7a45c14da50306779e08b0767d962a7f"/><file name="filter-class.phpt" hash="72e7d191f2f48766786739abe3743c34"/><file name="filter-dataprovider-by-classname-and-range-isolation.phpt" hash="08c7fa7c225a5685f6632e3db38a43af"/><file name="filter-dataprovider-by-classname-and-range.phpt" hash="5eaed5b1812d7bfd93e13e819212dcac"/><file name="filter-dataprovider-by-number-isolation.phpt" hash="0f281e564f8e08c2bf59e2d87008f0c8"/><file name="filter-dataprovider-by-number.phpt" hash="a3764bdee5a0f843a1b66a03d567e636"/><file name="filter-dataprovider-by-only-range-isolation.phpt" hash="220e7cb23f18787b9e734c5f34a6537a"/><file name="filter-dataprovider-by-only-range.phpt" hash="961b2ac82bf03f82121e8b4aac6d564e"/><file name="filter-dataprovider-by-only-regexp-isolation.phpt" hash="de6d6cecfc634c1ae938bea81016039c"/><file name="filter-dataprovider-by-only-regexp.phpt" hash="8dd2542393dda42b9a7a8e3d02e28b9e"/><file name="filter-dataprovider-by-only-string-isolation.phpt" hash="0f1424cc91c8771e872f3d083262215e"/><file name="filter-dataprovider-by-only-string.phpt" hash="fbe2598fb7cbc29f17b9d9721bc87994"/><file name="filter-dataprovider-by-range-isolation.phpt" hash="d85d36931ec27f177f18b69ec637eac2"/><file name="filter-dataprovider-by-range.phpt" hash="faaa5ac9dceaf04c34a3a710372462e2"/><file name="filter-dataprovider-by-regexp-isolation.phpt" hash="bd2dac12d29ce29452c746b50b5be771"/><file name="filter-dataprovider-by-regexp.phpt" hash="e3755a46e368656ad2c3db8a4a5fb9a0"/><file name="filter-dataprovider-by-string-isolation.phpt" hash="280bdf1b0b9dec9281a526631b88c482"/><file name="filter-dataprovider-by-string.phpt" hash="9abab0ba622a513761722b8648941f3c"/><file name="filter-method-case-insensitive.phpt" hash="d886d6f149260873087b4a29d48e1b3d"/><file name="filter-method-case-sensitive-no-result.phpt" hash="74b8386edb94fffb7fb444823ff1b8ff"/><file name="filter-method-isolation.phpt" hash="d014e4bd1f13c2bb72999cb0853b2bc6"/><file name="filter-method.phpt" hash="25997a54c51e96fc46944a2a6df42faa"/><file name="filter-no-results.phpt" hash="5026e05b4dd5231c8d3a2f8a34ccddd4"/><file name="group-isolation.phpt" hash="ed77d7e9296d62858b231148450d0aa6"/><file name="group.phpt" hash="e8016248f921cb9f5cc9f53a6a9b42a8"/><file name="help.phpt" hash="3cf98a3ef8ab91a021962188e8c4a4b9"/><file name="help2.phpt" hash="6d9ba5789d0bbb256bae12312eb55ae4"/><file name="ini-isolation.phpt" hash="7abefc0d525c7ecb514969aa73e7771a"/><file name="list-groups.phpt" hash="fb490e06eef8e850acf2984d3e52b587"/><file name="log-json-no-pretty-print.phpt" hash="c806a013ac009953bd99f49fc9e0b410"/><file name="log-json-post-66021.phpt" hash="5719251c6706de6b8ad79712050c187a"/><file name="log-json-pre-66021.phpt" hash="de3fc4900eb50fbf7800013acca610c8"/><file name="log-tap.phpt" hash="d6a57739185d294f876375191a0e99d8"/><file name="log-xml.phpt" hash="e4a410fdff4cc79244787883e75b8396"/><file name="options-after-arguments.phpt" hash="eb8a6bb28f0a3fde16bf8ccb14601e5a"/><file name="output-isolation.phpt" hash="5fbc7bd998d53a00762b2d543198c634"/><file name="repeat.phpt" hash="199f3d0dd00db2da7a31fd3629685e4c"/><file name="report-useless-tests-incomplete.phpt" hash="30308a686c9eccb64e0ffcad1e8cf22f"/><file name="report-useless-tests-isolation.phpt" hash="d282c664af2e97ff6b4d047e435e6f69"/><file name="report-useless-tests.phpt" hash="d873f0fb3adec894395d8860a76cb543"/><file name="tap.phpt" hash="c04d259d27a73a97ef92dde50e9e5b87"/><file name="test-suffix-multiple.phpt" hash="c47c5202c55e2d3d35a4bf2cc5fc4765"/><file name="test-suffix-single.phpt" hash="2e5e7917355e661ee8088a65e4d70d85"/><file name="testdox-html.phpt" hash="e5af441e86c6ea375aa29ec974d1e23f"/><file name="testdox-text.phpt" hash="e0f02a8766df79c580d57395fdceb920"/><file name="testdox.phpt" hash="f02f5cfa6358fdc4ed8bc8d3a4ffea68"/></dir><dir name="Util"><file name="ConfigurationTest.php" hash="2d528f5388fc0e6a83d51992e2d55760"/><file name="GetoptTest.php" hash="4c1c0f9590d979cc797d440337210bca"/><file name="GlobalStateTest.php" hash="01bb5f5843bef89fce211f3a8c098706"/><file name="RegexTest.php" hash="84622525342d41c471f1c3f2a3664174"/><dir name="TestDox"><file name="NamePrettifierTest.php" hash="5141541a09a095de0805fa93717677ad"/></dir><file name="TestTest.php" hash="0ffd2524a32e4ff32ca46086fb229b83"/><file name="XMLTest.php" hash="822212f2fa38daa6aa4595d321034b77"/></dir><dir name="_files"><file name="AbstractTest.php" hash="b214b8e36440dade916874968bbc5dde"/><file name="Author.php" hash="be706f3c088e397fc67243ef15d96a0c"/><file name="BankAccount.php" hash="82a7d0064f51e6ec53eb242b93d070ed"/><file name="BankAccountTest.php" hash="1ce8595363094c9bb5ce48fa63fdd2dc"/><file name="BankAccountTest.test.php" hash="7939a3e19b08f7742f025964c380a14f"/><file name="BaseTestListenerSample.php" hash="16485515e525af6e5cf4d23308a9b976"/><file name="BeforeAndAfterTest.php" hash="790b45e68f6158d385c51974d06a446b"/><file name="BeforeClassAndAfterClassTest.php" hash="0b41444e47a852b90902cb48aa68d359"/><file name="Book.php" hash="f930142c0f32c839ea9017038c2ccc0d"/><file name="Calculator.php" hash="ffa92baf6d960643de83e281f1d85d64"/><file name="ChangeCurrentWorkingDirectoryTest.php" hash="9c18721298bbc976324818ce860cdcc0"/><file name="ClassWithNonPublicAttributes.php" hash="12127968de01d0148fede477ee57f76d"/><file name="ClassWithScalarTypeDeclarations.php" hash="5d248adde3ecad99325ca74336293fc7"/><file name="ClassWithToString.php" hash="06f58ed408891137da51a78883b2d1d4"/><file name="ConcreteTest.my.php" hash="e1a6d6d9d960fc260cb531db19de6bc3"/><file name="ConcreteTest.php" hash="c787c7a653f4cd82028c8505571c77a1"/><file name="CoverageClassExtendedTest.php" hash="ef2336d55ae02703b0c608e2c86a835a"/><file name="CoverageClassTest.php" hash="88af4d7c4b557e78f886453857b00612"/><file name="CoverageFunctionParenthesesTest.php" hash="c7fef2fb7f51150a660844b997ee4c37"/><file name="CoverageFunctionParenthesesWhitespaceTest.php" hash="ec5d778e1a37d1a190c40a9acec55a65"/><file name="CoverageFunctionTest.php" hash="39bec3b0b9db30f67bc23896018b7e15"/><file name="CoverageMethodOneLineAnnotationTest.php" hash="d229ea18df6ca5eabe0e9f42cdfec897"/><file name="CoverageMethodParenthesesTest.php" hash="889346c35550fe4a3f4caa0838136f9f"/><file name="CoverageMethodParenthesesWhitespaceTest.php" hash="79096a31b12bb716119c4ae5021114d5"/><file name="CoverageMethodTest.php" hash="736839b87afcbfa16f75a87170b2eaf2"/><file name="CoverageNamespacedFunctionTest.php" hash="94b1a99f49a728beb3f6cc4505bd3bc1"/><file name="CoverageNoneTest.php" hash="1ef0636da95daaf6a8bda6991df078e4"/><file name="CoverageNotPrivateTest.php" hash="b64af610121292153da0681b2328e3ec"/><file name="CoverageNotProtectedTest.php" hash="d090bd61f1ddf98f5b1d5a4e9b74558a"/><file name="CoverageNotPublicTest.php" hash="fed43600690b9cdaba323037b43b47b4"/><file name="CoverageNothingTest.php" hash="64332f588c6c1a09651b9d54d0a90dd3"/><file name="CoveragePrivateTest.php" hash="fdd0b16f24305076c51df8781a9d788c"/><file name="CoverageProtectedTest.php" hash="c12e2728b065e19203543dfe515827b2"/><file name="CoveragePublicTest.php" hash="c2df1e89a58b9382dcddbc17280db2eb"/><file name="CoverageTwoDefaultClassAnnotations.php" hash="e2af1e81a66510b60a6f84a6ef7efb13"/><file name="CoveredClass.php" hash="3fb30247bee83f69ab4102b1debf0e3e"/><file name="CoveredFunction.php" hash="38958a75f33a86b704f96f50cbc6548d"/><file name="CustomPrinter.php" hash="24634a7c9ccdbfe77ecdceebb6af2244"/><file name="DataProviderDebugTest.php" hash="d7edadb2c0a244c5e670383af79f6ec0"/><file name="DataProviderFilterTest.php" hash="3af0ce5f78cff6863060b6f804724c2d"/><file name="DataProviderIncompleteTest.php" hash="a5dc2e65e1261c150a8feab781ae79e7"/><file name="DataProviderSkippedTest.php" hash="39d2e6d3b78d9a016503b2f66c0de6a0"/><file name="DataProviderTest.php" hash="7cc93cfb6373a6b70f7ac350e2b3dc9a"/><file name="DependencyFailureTest.php" hash="c49e12c51dae5719302f9e9ac75cda18"/><file name="DependencySuccessTest.php" hash="4e2269b8be0f1241680c099211e57350"/><file name="DependencyTestSuite.php" hash="95df3b858eb969088b2ab5537f89370d"/><file name="DoubleTestCase.php" hash="f73c285d2abfca3bbca26741ba4ab65a"/><file name="DummyException.php" hash="2b40784a6eecccc6aa4a4ad6939e03b1"/><file name="EmptyTestCaseTest.php" hash="5bcdd8467634e1d3cceae5a186fcba65"/><file name="ExceptionInAssertPostConditionsTest.php" hash="96d04422bd8461c8de4e06fc980cebf1"/><file name="ExceptionInAssertPreConditionsTest.php" hash="7635cf0be8d2014ceb85000257125295"/><file name="ExceptionInSetUpTest.php" hash="c7151cae94e1c4f87009584a8ce2396c"/><file name="ExceptionInTearDownTest.php" hash="c6caf158fb09b74e2d37542476205537"/><file name="ExceptionInTest.php" hash="7c735579ebf9f2a916783d6040544c5c"/><file name="ExceptionNamespaceTest.php" hash="1dd30049a11cb46a51b1b1a4be308e24"/><file name="ExceptionStackTest.php" hash="e83c1fd10cd94663d403c217beab2064"/><file name="ExceptionTest.php" hash="fd9481c29488adf3648053e59641c7f0"/><file name="Failure.php" hash="722d9b9984de429e5a00bee66f9921b1"/><file name="FailureTest.php" hash="f4e1c5c6822b43211a779beea0814c6b"/><file name="FatalTest.php" hash="3aa347a0e720bdcf5d4ff2ccb9296153"/><file name="IncompleteTest.php" hash="b55cc8065aa2470bd38b8698963a0cf7"/><dir name="Inheritance"><file name="InheritanceA.php" hash="372b4c24b47966058945522d54f4b4da"/><file name="InheritanceB.php" hash="f2b2e2fe1591129480dd79a636f61d89"/></dir><file name="InheritedTestCase.php" hash="7dbc55ca5ee12f637b99054aac9c0429"/><file name="IniTest.php" hash="85aae0b77bed7a2f7295599d6d412bc6"/><file name="IsolationTest.php" hash="77256f844519e8fb87ec32d35dab8834"/><dir name="JsonData"><file name="arrayObject.json" hash="f6b2b7c421a506e737101c79a24a0c60"/><file name="simpleObject.json" hash="74ae259131b0149d39ad5ae616eba1a2"/></dir><file name="MockRunner.php" hash="44c14a6f68e2cb5c6e98164e712a314d"/><file name="MultiDependencyTest.php" hash="03d7bde724945c8d20e5a7163451e92b"/><file name="NamespaceCoverageClassExtendedTest.php" hash="6ee65961bef48fcbd29dc32c1cd1b214"/><file name="NamespaceCoverageClassTest.php" hash="303c79ca84dd5185cbe3523be856be76"/><file name="NamespaceCoverageCoversClassPublicTest.php" hash="196ba19fc47ab47727515c2378fb7673"/><file name="NamespaceCoverageCoversClassTest.php" hash="c8aca2dafd7f838c8ad3a1a37494b2b1"/><file name="NamespaceCoverageMethodTest.php" hash="65d34371a30cf070c32af9e748057cd7"/><file name="NamespaceCoverageNotPrivateTest.php" hash="72f092fa88a601e0c6b879e79f342ec7"/><file name="NamespaceCoverageNotProtectedTest.php" hash="6a4e3044f4170ae6526449bc31f04480"/><file name="NamespaceCoverageNotPublicTest.php" hash="3ef83ceab1ef56e48c564f53e5abc007"/><file name="NamespaceCoveragePrivateTest.php" hash="9db671d755ccc81cd789fd099404e634"/><file name="NamespaceCoverageProtectedTest.php" hash="e55f9e06a7ac37584bb21428023a3ecd"/><file name="NamespaceCoveragePublicTest.php" hash="cfb91dec22992ab23414c869055e4195"/><file name="NamespaceCoveredClass.php" hash="71017e733b94b3c63316bab6b4a3a405"/><file name="NamespaceCoveredFunction.php" hash="4eeecb3276eb96e364947fa356245e2d"/><file name="NoArgTestCaseTest.php" hash="c613174d800fd0f49bb99afdbe325175"/><file name="NoTestCaseClass.php" hash="7a2c21727d50479fb3e0e41d4e7176e7"/><file name="NoTestCases.php" hash="1168a9dc8a919496ebe2d003bad835c3"/><file name="NonStatic.php" hash="7a0314ba220d574c11f5a51970d4db1f"/><file name="NotExistingCoveredElementTest.php" hash="6d7f8db98965f803878906e6510fe14a"/><file name="NotPublicTestCase.php" hash="3cdba76815fc7532acaacfdd8510e5f9"/><file name="NotVoidTestCase.php" hash="b2a6edb124c40382bd3abdd7aad1eb05"/><file name="NothingTest.php" hash="bdf24d52ec8d0e488979ab2b4f1fc06b"/><file name="OneTestCase.php" hash="d1432b0ea84652d459ebb15dc7ee1a1f"/><file name="OutputTestCase.php" hash="c5b91c92def1e7e93333efaabc40c015"/><file name="OverrideTestCase.php" hash="004508b3411d7cd867561b07c1728ab4"/><file name="RequirementsClassBeforeClassHookTest.php" hash="db60f9df7a37ca9f933955c176733f76"/><file name="RequirementsClassDocBlockTest.php" hash="99fa7bbd8e64ffe5dc8346fc52e592ef"/><file name="RequirementsTest.php" hash="e67ef866166f50a74962ce2d45e24a44"/><file name="SampleArrayAccess.php" hash="8a22b30ce4809428957a9c7a861f1a88"/><file name="SampleClass.php" hash="877a23a01d00bbaaeda465e319ba532e"/><file name="Singleton.php" hash="ebbb44327ce66688302c92929f1db82b"/><file name="StackTest.php" hash="62d0cd4a68a695db12c68e9152310bcd"/><file name="Struct.php" hash="d0fc80910c689080b730de1ed06d023d"/><file name="Success.php" hash="6d8c9cabf978b37c7ceab68c51f1cc51"/><file name="TemplateMethodsTest.php" hash="746da1d305e89affe78639816c28bc16"/><file name="TestIncomplete.php" hash="940646a713ad8de9e3f02cc621ed1462"/><file name="TestIterator.php" hash="1830ce69c4f0f247ba3c152e1f413a70"/><file name="TestIterator2.php" hash="090d404be671b40c0ad90ae25e4ca468"/><file name="TestSkipped.php" hash="64d0562b5092260fdd016a2343388fd9"/><file name="TestTestError.php" hash="577074d252db3f8889dc25a67fa48be2"/><file name="TestWithTest.php" hash="1df7eba63583c6aecb62d228f1e3c36a"/><file name="ThrowExceptionTestCase.php" hash="51d96ab5e83c068c75f26af6a3c509a7"/><file name="ThrowNoExceptionTestCase.php" hash="3b230ab7500f6ba330f60ac190da52ae"/><file name="WasRun.php" hash="58530a9993e9894187a2c3f27aca0be6"/><file name="bar.xml" hash="1581f4e291c6d8f83330ab8b98a33b4c"/><file name="configuration.colors.empty.xml" hash="99c749f2a9721cb588a728fb82baf8b4"/><file name="configuration.colors.false.xml" hash="d81f2932ca545fa7cafaeae5f216fc28"/><file name="configuration.colors.invalid.xml" hash="af0e8998a9bb3fc68845b67f9a377ac2"/><file name="configuration.colors.true.xml" hash="ebc67f5fe55baf211cbb3f7323958ab4"/><file name="configuration.custom-printer.xml" hash="b01b0c4380dd368d68fd0c305e552185"/><file name="configuration.xml" hash="4615ea668b257a3817373afd4a8f8d42"/><file name="configuration_empty.xml" hash="3d557deca210d3523e511449f9b1894a"/><file name="configuration_xinclude.xml" hash="8b9e58651b86f41f7e430ecab42e0d0b"/><file name="expectedFileFormat.txt" hash="702970b5f7da2b2f718d31ac4f046f5e"/><file name="foo.xml" hash="6dc4cf0f198581bd6b4e6943a95c32a1"/><file name="structureAttributesAreSameButValuesAreNot.xml" hash="57fe4c6bc049415200ea4c3cbc93cbca"/><file name="structureExpected.xml" hash="22373573c8f5f9675a96029ece9ec857"/><file name="structureIgnoreTextNodes.xml" hash="22ae55cb8cfee800ba8e4830538be251"/><file name="structureIsSameButDataIsNot.xml" hash="8569dc65fc416a7a40a4dd1136f3be51"/><file name="structureWrongNumberOfAttributes.xml" hash="0faafcc0b086de6cabce4aed14592ffc"/><file name="structureWrongNumberOfNodes.xml" hash="5bb939be9c9105fdf25d8d9b5a2a9487"/></dir><file name="bootstrap.php" hash="138b94451592c0b3fdf5664b02efbc0d"/></dir><file name=".gitattributes" hash="1eab63d52d0b98411d3df43a720a23e9"/><file name=".gitignore" hash="9f6f103604ff61fefab90284a3af151f"/><file name=".php_cs" hash="7383fe829a424e77676e5eb40b7e9fb1"/><file name=".travis.yml" hash="aa8dea5871c51a1f22a2a43a83ec9665"/></dir><dir name="phpunit-mock-objects"><file name="CONTRIBUTING.md" hash="149ad32bc7cc38dfe8daef9e7969812e"/><file name="LICENSE" hash="da658d4f706c367641055579050c99c3"/><file name="README.md" hash="1fdf261027c33e510051976e7c6d8bc8"/><dir name="build"><file name="travis-ci.xml" hash="591eba48dc5657a7da46d96a93f0ef64"/></dir><file name="build.xml" hash="d06f51d617153002f7eb2e58c6aeeded"/><file name="composer.json" hash="aeb7480d149884d1147139eaf84b0863"/><file name="phpunit.xml.dist" hash="5a24d450e5fd33b7d3ba94534760aec7"/><dir name="src"><dir name="Framework"><dir name="MockObject"><dir name="Builder"><file name="Identity.php" hash="51cb171c7bc0a1d08b9e3d7c82ffb50b"/><file name="InvocationMocker.php" hash="f3265feaac2b407f10ac7c8bf9580ed3"/><file name="Match.php" hash="d8c90156a1c7604b41f95114ae4a750d"/><file name="MethodNameMatch.php" hash="87502f374289f5b7c6d43f899e26663e"/><file name="Namespace.php" hash="87d1cd6b72224a4dec697a27dda36bd6"/><file name="ParametersMatch.php" hash="ad92cb20c0a6dfa72f060f3ce6f8bf46"/><file name="Stub.php" hash="35bc9d96217cadc1f062cfc32d2a8ea0"/></dir><dir name="Exception"><file name="BadMethodCallException.php" hash="8f712b7f04ffabc963a15653ec472c09"/><file name="Exception.php" hash="b47ad9ec7d35b76eec99e315463a8b7a"/><file name="RuntimeException.php" hash="6512a1dccf5bfd861205be86cfd6c598"/></dir><dir name="Generator"><file name="mocked_class.tpl.dist" hash="55f676a312cc45c42a7691c4d4351118"/><file name="mocked_class_method.tpl.dist" hash="acb8585a1bce4ab386e86c3353dd9480"/><file name="mocked_clone.tpl.dist" hash="2f0b14324e73b77dd1315736e1e11498"/><file name="mocked_method.tpl.dist" hash="3daec0214ac48f0e43966cf5b46dd8f2"/><file name="mocked_static_method.tpl.dist" hash="75846eefc31428191eb943baf618be3f"/><file name="proxied_method.tpl.dist" hash="6928d80250e73f04ab832498c480a1f2"/><file name="trait_class.tpl.dist" hash="d0a66ce2e7335ef792a63cbfed42eaef"/><file name="unmocked_clone.tpl.dist" hash="2d78ddcca5eedf55d33c562ef3adb100"/><file name="wsdl_class.tpl.dist" hash="86502f9e14bf669aeff396de4fcbf6d0"/><file name="wsdl_method.tpl.dist" hash="b87ff1b355250565af7d5ec7c877c8d7"/></dir><file name="Generator.php" hash="ad9ad1e9482674fdeea731b115b1fc0a"/><dir name="Invocation"><file name="Object.php" hash="0696f9fcdfde9becefb0e6ab04dfea15"/><file name="Static.php" hash="01ae5321bdf4b68bd9820e83c6be6647"/></dir><file name="Invocation.php" hash="e0ad1d1167c0903575209cba5747b71a"/><file name="InvocationMocker.php" hash="39d234813a778c12c54c05bb1a90cc5f"/><file name="Invokable.php" hash="e8567f90f69216f5dbe188d8ece33f8d"/><dir name="Matcher"><file name="AnyInvokedCount.php" hash="e4443681be94e8b9a9eca0bc1d2e20a7"/><file name="AnyParameters.php" hash="583f41e61c642cbc5a549e7b49eec172"/><file name="ConsecutiveParameters.php" hash="2bd0078a243dfc97829b96e0edf287e9"/><file name="Invocation.php" hash="28b2c504eaf21da3b243e874ef5ce0c6"/><file name="InvokedAtIndex.php" hash="f05bdcd91f906af3eee267faef86657f"/><file name="InvokedAtLeastCount.php" hash="e4a5e570bacdc2f64fa92614693c5c63"/><file name="InvokedAtLeastOnce.php" hash="781dc917cc98695850eb578374eb4d4f"/><file name="InvokedAtMostCount.php" hash="a65f6687be6edba862b937bfba8b481e"/><file name="InvokedCount.php" hash="2cc0078bc0b8db1b6cb6cd3cf21c19f9"/><file name="InvokedRecorder.php" hash="0c9469efd068d09d1d8b535f4454af6e"/><file name="MethodName.php" hash="e32b3130fa9509fd75e40cc2ad9cbaa7"/><file name="Parameters.php" hash="2f3005941d64fb24400a3c1f2dd54037"/><file name="StatelessInvocation.php" hash="b27122ae04b52af26ac9e728afdc6002"/></dir><file name="Matcher.php" hash="6d2e29b4b5e07a6c350ff86fe8c0a062"/><file name="MockBuilder.php" hash="064431c1a63f936cd738196c65cd448b"/><file name="MockObject.php" hash="2c834a37485edbdd0aaf924e3b9e06a1"/><dir name="Stub"><file name="ConsecutiveCalls.php" hash="ce2be776f266f68030c02b6ae44c09a1"/><file name="Exception.php" hash="9309a901f89bb19a9f6e0456faf997a9"/><file name="MatcherCollection.php" hash="63ff40fa34de3e6a6a3a454ec62334ee"/><file name="Return.php" hash="52eae36d9354ee75cdef671438472187"/><file name="ReturnArgument.php" hash="474f49c77b6f30a4ef94f5adb3fd3dcb"/><file name="ReturnCallback.php" hash="ac7e41fec3c8f6cdffd847a09ef53669"/><file name="ReturnSelf.php" hash="eb79bc9db4000280d71f5a6a29a08571"/><file name="ReturnValueMap.php" hash="a7829768a90e5a9508f8edb4a1d33919"/></dir><file name="Stub.php" hash="c7db02488916a49d3c140889291eb318"/><file name="Verifiable.php" hash="f18efaaa2e2a64ee1e241e51875c8a92"/></dir></dir></dir><dir name="tests"><file name="GeneratorTest.php" hash="0792dcee9830234bed5a1b38b5fae5e2"/><file name="MockBuilderTest.php" hash="fe018bdb2662daff6cf77932e2b470cc"/><dir name="MockObject"><file name="232.phpt" hash="cd9ebb49be1aa79733322e1d89c2a157"/><dir name="Invocation"><file name="ObjectTest.php" hash="f630a224bb271d9eaf8d4bd145bf08ca"/><file name="StaticTest.php" hash="f1ccc7529510510769614b6151cd24ff"/></dir><dir name="Matcher"><file name="ConsecutiveParametersTest.php" hash="e937dca04b77763e46a8a98caab7d19c"/></dir><file name="abstract_class.phpt" hash="eb2ee3074a1b8aab9728b8aec6bcd26d"/><file name="class.phpt" hash="d482887d24472554666f496741d0da6b"/><file name="class_call_parent_clone.phpt" hash="30b4b8790aa06b2eea28c1854136f779"/><file name="class_call_parent_constructor.phpt" hash="71d9b383e8440a344fc4b51505c05931"/><file name="class_dont_call_parent_clone.phpt" hash="6fa2aa214bcba0b7e5fb0fa0fa2bd153"/><file name="class_dont_call_parent_constructor.phpt" hash="71d9b383e8440a344fc4b51505c05931"/><file name="class_implementing_interface_call_parent_constructor.phpt" hash="cdce78f696999058a868e93c399a7746"/><file name="class_implementing_interface_dont_call_parent_constructor.phpt" hash="cdce78f696999058a868e93c399a7746"/><file name="class_partial.phpt" hash="5fbe11ef4bc425679da8e96205496b40"/><file name="class_with_method_named_method.phpt" hash="3ca57395dbd174909fb04726200c55fd"/><file name="class_with_method_with_variadic_arguments.phpt" hash="89ca2423578551d876f3aff661048b9e"/><file name="interface.phpt" hash="095f08957eaacdfd4f5da5df11b4fd73"/><file name="invocation_object_clone_object.phpt" hash="726e8539dca51b6e0f23fb8ba21cf563"/><file name="namespaced_class.phpt" hash="157355e4024d7a361d49313dcadbbb9d"/><file name="namespaced_class_call_parent_clone.phpt" hash="f2393554b5aab6820b5175e66afbd79d"/><file name="namespaced_class_call_parent_constructor.phpt" hash="7a1d3cd13b25e8d12bf79548d116d65f"/><file name="namespaced_class_dont_call_parent_clone.phpt" hash="09471b5a615d43048ccc467da0c50620"/><file name="namespaced_class_dont_call_parent_constructor.phpt" hash="7a1d3cd13b25e8d12bf79548d116d65f"/><file name="namespaced_class_implementing_interface_call_parent_constructor.phpt" hash="418d7bbd655faf5d849a3163a2e217e3"/><file name="namespaced_class_implementing_interface_dont_call_parent_constructor.phpt" hash="418d7bbd655faf5d849a3163a2e217e3"/><file name="namespaced_class_partial.phpt" hash="f0d6dd819189f537be8387bc48c9195f"/><file name="namespaced_interface.phpt" hash="73b11ee902fdead39677845213c34cb8"/><file name="nonexistent_class.phpt" hash="279d36c88ee270cfe273f396e9f5dd1e"/><file name="nonexistent_class_with_namespace.phpt" hash="ceaffb80bf14788c981197f2db77d247"/><file name="nonexistent_class_with_namespace_starting_with_separator.phpt" hash="55f7304da089ae0c3e79704117e6c28a"/><file name="proxy.phpt" hash="20ea05e2d411298ebb324c91da632cd2"/><file name="scalar_type_declarations.phpt" hash="24e7188f668aeede4830d6893083b4f8"/><file name="wsdl_class.phpt" hash="33b7044efd7e586bcc8e41e66758188c"/><file name="wsdl_class_namespace.phpt" hash="20125ff707c4652ca8f66583a3d8ccff"/><file name="wsdl_class_partial.phpt" hash="4640a82f3dcd2f4a68105e7a37140cc9"/></dir><file name="MockObjectTest.php" hash="44e8d97c90e23259528a1dd3b7de52ff"/><file name="ProxyObjectTest.php" hash="db29eb5fe880acb825da6f580ec0bd81"/><dir name="_fixture"><file name="AbstractMockTestClass.php" hash="7fedbceab74d50c0389173b2750bc8b6"/><file name="AbstractTrait.php" hash="a569607ba756ad04c9eb54418629274d"/><file name="AnInterface.php" hash="3fbb32606c934d3b2cf9269279e17bdb"/><file name="AnotherInterface.php" hash="7e39c0d6c02f842746b83ab2bee70083"/><file name="Bar.php" hash="e121d3ccf5d91a9b7f58bfa0c6d65170"/><file name="ClassThatImplementsSerializable.php" hash="098715b44124928aacbdc2461952da79"/><file name="ClassWithStaticMethod.php" hash="9d842f43adcf7bf0b2cfd3720b9fbcbf"/><file name="Foo.php" hash="4f99cf6e1e068c9e84f2105dc6696679"/><file name="FunctionCallback.php" hash="909f1cbeb89e59eb4060d11d7e8630dd"/><file name="GoogleSearch.wsdl" hash="309c4d0f17b641f7d768eba5c3e6d201"/><file name="InterfaceWithStaticMethod.php" hash="5dcbb878c5e0e737997e0b14e9d7d75c"/><file name="MethodCallback.php" hash="b2a5220f5b70d0d4f89556d2b9785398"/><file name="MethodCallbackByReference.php" hash="4696b7840f03b6bec046eaafe50a4c65"/><file name="MockTestInterface.php" hash="2feeed1fbe7ad7ec9cf61c870c00c78c"/><file name="Mockable.php" hash="2cae810a709eb96c1e48b8dbd7ca4a98"/><file name="PartialMockTestClass.php" hash="080ad9c31520f0e33a7e08a2ac283ae2"/><file name="SingletonClass.php" hash="c3cacebec6a1c3c6c82ee6cacaa154ce"/><file name="SomeClass.php" hash="43b6974b319e49c0e66d37b0861f1a38"/><file name="StaticMockTestClass.php" hash="bded1ca716f19816a676ecb1684383ed"/><file name="TraversableMockTestInterface.php" hash="cbd71e09a26e622036b18b7848c71939"/></dir><file name="bootstrap.php" hash="2e1e3f6846591e5ac2054446ee487432"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="0d705da550468e75879d49de19f97233"/><file name=".travis.yml" hash="ffc81be284a658c7908fa7770d914827"/></dir></dir><dir name="ramsey"><dir name="uuid"><file name="CHANGELOG.md" hash="3f2526416736d3705c4d853a4cd4c06f"/><file name="CODE_OF_CONDUCT.md" hash="5ea9031440f3df53da39caf270b51c5a"/><file name="CONTRIBUTING.md" hash="42982172aee0def55b91afa5b1873d97"/><file name="LICENSE" hash="16ad646ed43d98a273cc76c420571091"/><file name="README.md" hash="bdb3015f7a3c110e88d8b731e477baee"/><dir name="bin"><file name="uuid" hash="ce1fc89843965f6a79b138d9abd549bb"/></dir><file name="composer.json" hash="9108e1f919cd0676b4e12bdfe595ab2e"/><dir name="src"><dir name="Console"><file name="Application.php" hash="64b902c68afd8960c05b68eaab1b0964"/><dir name="Command"><file name="DecodeCommand.php" hash="4fb5d849bc972c9bf9a8c464af176245"/><file name="GenerateCommand.php" hash="567fd5e7f090ca5dc11af7d5bbfda072"/></dir><file name="Exception.php" hash="36c7e4c279033b791215724e50e4ebde"/><dir name="Util"><file name="ErrorHandler.php" hash="4bafc91dd714ace73702fc8d97ef6dca"/></dir></dir><dir name="Doctrine"><file name="UuidType.php" hash="39416bd8d5ab9ffa1471932dc1fcd650"/></dir><dir name="Exception"><file name="UnsatisfiedDependencyException.php" hash="17d7f59c368ae4f8bb2ec03358bf3da3"/><file name="UnsupportedOperationException.php" hash="ff743fb8d7553c12180464e528765898"/></dir><file name="Uuid.php" hash="ac52477ff255901b2d525d242e2c48bc"/></dir></dir></dir><dir name="react"><dir name="promise"><file name="CHANGELOG.md" hash="34501fdaf4d5b123228d382157ab8d57"/><file name="LICENSE" hash="f84e3eeb09ef3e2e64d447ff99ac5abc"/><file name="README.md" hash="3d5a727fde12ace6af37efc89a90ad13"/><file name="composer.json" hash="fc46bb2af2c4912cd48017b193e5e459"/><file name="phpunit.xml.dist" hash="54159067089d41e57648c7c86d5d9390"/><dir name="src"><file name="CancellablePromiseInterface.php" hash="1d8feeea39ac3cd66f2c041f0f6589f0"/><file name="CancellationQueue.php" hash="a4c08c4e86d0319fb6040a2de6d6a4d5"/><file name="Deferred.php" hash="a922b6f8f9d7f8525ddc2c5704eb1377"/><dir name="Exception"><file name="LengthException.php" hash="8a62fa0ba1f093f23e661d663aa0f852"/></dir><file name="ExtendedPromiseInterface.php" hash="1a287908208d527bbbe6e3128af84d26"/><file name="FulfilledPromise.php" hash="040356e14925e0689d9b88449d5e57e5"/><file name="LazyPromise.php" hash="22592f8b135ec8ac575a02d24bbec70a"/><file name="Promise.php" hash="476e8b8de1d8769fbd5119cf341e88a1"/><file name="PromiseInterface.php" hash="488da4a38d218ba8fb3eaea05dd1c264"/><file name="PromisorInterface.php" hash="d7bf061df9395a7cf5fd082805e42c7a"/><file name="RejectedPromise.php" hash="71b65bbf4a214bd21a1e0f834495ade0"/><file name="UnhandledRejectionException.php" hash="034bb15bedb7cb1161f1c7ecab05506a"/><file name="functions.php" hash="dc7d83bfd442653abb10651abf5271e1"/><file name="functions_include.php" hash="4da7302e4ed0862c6fa885a3c66bcd01"/></dir><dir name="tests"><file name="CancellationQueueTest.php" hash="2c89ba88fb50e68f22bf3c13e2d68459"/><file name="DeferredTest.php" hash="5fb76a8bd96a79598d69afb9bcc8c1e1"/><file name="FulfilledPromiseTest.php" hash="20e21c11b19ec8b46a47fc072e7a9e0c"/><file name="FunctionAllTest.php" hash="c2ee53ecc37d95fc55c57912477c215a"/><file name="FunctionAnyTest.php" hash="413610570a6cb5d042416e8bde51edab"/><file name="FunctionCheckTypehintTest.php" hash="b48395c507606f68d32150ddfc28ae0d"/><file name="FunctionMapTest.php" hash="b8eca6a5cc754c0679de43a640235ccc"/><file name="FunctionRaceTest.php" hash="2878e1b2463db6c71aa9dddc014087b5"/><file name="FunctionReduceTest.php" hash="69aacb2089019087b8d99ff72bc46347"/><file name="FunctionRejectTest.php" hash="4209c5e6b051b3c065b4a8e1e32949dd"/><file name="FunctionResolveTest.php" hash="9d6464105f1045870311c47d166b0642"/><file name="FunctionSomeTest.php" hash="e323f8ff6b6595ba3b21ddec311d3af5"/><file name="LazyPromiseTest.php" hash="f3f8f1e47ebf5097d726086c785a7b20"/><dir name="PromiseAdapter"><file name="CallbackPromiseAdapter.php" hash="3429d665b2a9dd4a9d3606af69db5c17"/><file name="PromiseAdapterInterface.php" hash="a02b0b5e52a71149688f7bef8894fcda"/></dir><dir name="PromiseTest"><file name="CancelTestTrait.php" hash="ba67c52a09c265733f3b1a8c5f94c562"/><file name="FullTestTrait.php" hash="e82099e47b8fe984b7f5ff832c811b9b"/><file name="NotifyTestTrait.php" hash="314ba252939f84fd2885064409d4247d"/><file name="PromiseFulfilledTestTrait.php" hash="d83a22d7b2792a2e067447533ef80598"/><file name="PromisePendingTestTrait.php" hash="ca94a285a8ac4b0f402f9915025997a9"/><file name="PromiseRejectedTestTrait.php" hash="e8a1bd5d800d800ae18b60cf48ff6710"/><file name="PromiseSettledTestTrait.php" hash="2b4de2fa354193aa5d577d2996713eb0"/><file name="RejectTestTrait.php" hash="11d13fb0d33113764df7ad81981e3ff5"/><file name="ResolveTestTrait.php" hash="e8786f5b09a518feb6cb991ec28093df"/></dir><file name="PromiseTest.php" hash="52115d5d217329509a33bf33ca3efc54"/><file name="RejectedPromiseTest.php" hash="e72e7e3d7bc3e7779ea1b8383604a263"/><dir name="Stub"><file name="CallableStub.php" hash="aa2c5ca5528276a340c013c950c3c792"/></dir><file name="TestCase.php" hash="4c1e0a05effe1354008b82a9c903b5b9"/><file name="bootstrap.php" hash="ac271c71e8caa31202d61356508b7c32"/><dir name="fixtures"><file name="SimpleFulfilledTestPromise.php" hash="c10445bad05e8ed99d7188242eaa0f6a"/><file name="SimpleFulfilledTestThenable.php" hash="c342e3cef7419fb13ff81c2351791c45"/><file name="SimpleRejectedTestPromise.php" hash="789f84d3e6fa41a8d14ad6d7d2c66200"/><file name="SimpleTestCancellable.php" hash="da3a3aec297ba9b099406800c95c2a3e"/><file name="SimpleTestCancellableThenable.php" hash="3e2e14ed71266da456a61a836ceb9bf1"/></dir></dir><file name=".gitignore" hash="96ee6db351a60970506e58144d14350d"/><file name=".travis.yml" hash="96798bac69035df1cf69fe12dc8abce9"/></dir></dir><dir name="ronanguilloux"><dir name="isocodes"><file name="LICENSE" hash="d32239bcb673463ab874e80d47fae504"/><file name="Makefile" hash="e59bb4d5208464e0ea5666214de0ddea"/><file name="README.md" hash="443638c5d5336ebc865330f84d49eb61"/><file name="composer.json" hash="42d31dd3c80a906c95936f82a3dcf06a"/><file name="composer.lock" hash="2170cdd5197afb2fa4abfae92f298647"/><file name="phpunit.xml.dist" hash="2903cd6018dd889cd7ce9ec218cda440"/><dir name="src"><dir name="IsoCodes"><file name="Bban.php" hash="900e1153f3409e6c28180e1008c84e7a"/><file name="Cif.php" hash="f38729be8a5b11dc2ddc6ac15b7c35cd"/><file name="CreditCard.php" hash="dd053b9d8f756e27ca591227c1354b3d"/><file name="Ean13.php" hash="cca450670571a441846a59a12da6f894"/><file name="IP.php" hash="c353de7845a49980ea95b4399fc3737a"/><file name="Iban.php" hash="8cae4837d45326e40acff22a2bf41e52"/><file name="Insee.php" hash="10cf9f73be624e3fe8bd48c111637afc"/><file name="Isbn.php" hash="209fe551f0d09e7d09cd450275f49604"/><file name="Isbn10.php" hash="a9f1e5e24e182c380f3b85b3bb748c9b"/><file name="IsoCodeInterface.php" hash="32f7fc50e723c80063213df9228ceacd"/><file name="Nif.php" hash="972623e25255c38c5f48a0cf04de2f33"/><file name="OrganismeType12NormeB2.php" hash="0bf01080d8b0b3afb804b7edafac3f69"/><file name="Siren.php" hash="50faf12256fd2a52e272a1dbd87f92d4"/><file name="Siret.php" hash="82d53b333d1a2570b7ef873a37aa4cfa"/><file name="Ssn.php" hash="7d7e33d3659c4c30e3aec405327aad8c"/><file name="StructuredCommunication.php" hash="90443fe4e0e89c3c6ca4fa1fd84cd05b"/><file name="SwiftBic.php" hash="7e002d5a22913a7ea864c7a87f232ec6"/><file name="Uknin.php" hash="3c170835ea2b75e80e1c1700ceec23ca"/><file name="Vat.php" hash="edf36fd1db511aec1433671ad4046f5d"/><file name="ZipCode.php" hash="32e6bfe6f3af69363a0b14537590b768"/></dir></dir><dir name="tests"><dir name="IsoCodes"><dir name="Tests"><file name="BbanTest.php" hash="6f1b12f08ed1cd0f15714f5db5825973"/><file name="CifTest.php" hash="21b21b3aa695fef05acf51c5b1788460"/><file name="CreditCardTest.php" hash="5bed260e6a5a34d8e42f3e06405f86be"/><file name="Ean13Test.php" hash="36c439b0cb9ef839e05162cfe1636732"/><file name="IPTest.php" hash="8a7c426744c519d444b2e04172119239"/><file name="IbanTest.php" hash="37acc9279a95771e635d7639306ef032"/><file name="InseeTest.php" hash="e0211183520e7b4c4e3964a2d52b6f33"/><file name="Isbn10Test.php" hash="878a8e888ade4f241b66e2862d135e23"/><file name="IsbnTest.php" hash="f046a0ada320fffd799147b8a2967d13"/><file name="NifTest.php" hash="c2854e65e74a68f50f055184f1f94a1f"/><file name="OrganismeType12NormeB2Test.php" hash="742261d5b9eef682e750cd734441c75c"/><file name="SirenTest.php" hash="76202bc2ec6391908e2d96788362d6bc"/><file name="SiretTest.php" hash="67d734f2211751f2ad8b3cdc5eb07677"/><file name="SsnTest.php" hash="1912ddf5f44603b4ac176143f416658f"/><file name="StructuredCommunicationTest.php" hash="7d508876f8c87fc8d7855b075494108c"/><file name="SwifBicTest.php" hash="5450ea81a7087fd127c6c4e3e542812f"/><file name="UkninTest.php" hash="21a141faa12da3bd3d351846baaf53f9"/><file name="VatTest.php" hash="ba9a0524a0551dac26080600ce300c7a"/><dir name="ZipCodes"><file name="CanadaTest.php" hash="4ef8012ffed08222ba62d6734b785035"/><file name="FranceTest.php" hash="c46fb6df1d3dbf223cd497b54d7c5c03"/><file name="NetherlandsTest.php" hash="42a4850dcc4d954416d626cc4bbc300d"/><file name="PortugalTest.php" hash="7bb9fa3b3c01410203984b415bfa1535"/><file name="SpainTest.php" hash="5bebaf9b065a9f451dec47af31fa3188"/><file name="USTest.php" hash="facbbdfaea8b9f5483b14d029a784bb3"/><file name="ZipCodeTest.php" hash="90653cb5ab64f2d9b22133817db6d3b8"/></dir></dir></dir><file name="bootstrap.php" hash="2c4525bf41b526af3eda8d7c241f3d38"/></dir><file name=".coveralls.yml" hash="a943c8999e585a71436ae81db992b595"/><file name=".gitignore" hash="c6efea63cecbb52a205c42c4ac9bd99e"/><file name=".scrutinizer.yml" hash="59a8bcfad6b7b2b02842a23905a3cb73"/><file name=".travis.yml" hash="6d05d4cee642fb0264386de7d751df4c"/></dir></dir><dir name="sebastian"><dir name="comparator"><file name="LICENSE" hash="6d9e4164842194f3678065ca96aafc2b"/><file name="README.md" hash="806ffa51e11e5999d44b661cccfa4ae1"/><dir name="build"><file name="travis-ci.xml" hash="fc882618ee88ff07ab7e7fe54d499c8f"/></dir><file name="build.xml" hash="41f209813c40420d64a73845995ff5b9"/><file name="composer.json" hash="88c3437b68f86bd2e0e2d11c7f177ac8"/><file name="phpunit.xml.dist" hash="6b15adabab03c37ac9db087bd6c8616e"/><dir name="src"><file name="ArrayComparator.php" hash="459e9490fe7cd2e17dd3b0d997668a61"/><file name="Comparator.php" hash="e9623dc7fee4b1d5c9338f05cacea7ce"/><file name="ComparisonFailure.php" hash="4986c4af7c70c0ae76c85a9f4bfd13f8"/><file name="DOMNodeComparator.php" hash="9453d7665e2604be7fcfdd0889547eae"/><file name="DateTimeComparator.php" hash="2b028fdc63a6dc0c29f7c8b411bc78a3"/><file name="DoubleComparator.php" hash="9db2a68fa6377cdad8dbaac986a5dd7e"/><file name="ExceptionComparator.php" hash="6ae21adbbe27c150f3d13eb75b9ae9aa"/><file name="Factory.php" hash="f6e31cb4b7d9ae836fc8544198070511"/><file name="MockObjectComparator.php" hash="87c16d2472e6b233238d4c8c045758f0"/><file name="NumericComparator.php" hash="3f9f22c36d1ebd9960f2b0398f7bf63c"/><file name="ObjectComparator.php" hash="3c545b47390cf8b4f7056a07c7f16f06"/><file name="ResourceComparator.php" hash="c7404f4cc5a704b1e2ff8dace4d5789b"/><file name="ScalarComparator.php" hash="8bb2fd1ddac0bf843983364cea637936"/><file name="SplObjectStorageComparator.php" hash="eeb68e7a1b65c009a45957c872bed7e2"/><file name="TypeComparator.php" hash="00a006ce4ddaa8f6158da379e1a8ff07"/></dir><dir name="tests"><file name="ArrayComparatorTest.php" hash="5a56e596907fa051183487b591eaea45"/><file name="DOMNodeComparatorTest.php" hash="f2aaae72f57407fa217f7add0e9e393a"/><file name="DateTimeComparatorTest.php" hash="bccce0914fdfbe59b4a6d53dfe0e3cd3"/><file name="DoubleComparatorTest.php" hash="2310a6497dc5defa4c90dfd3a1c304e7"/><file name="ExceptionComparatorTest.php" hash="aaad1c445f068174239a646394a66ea7"/><file name="FactoryTest.php" hash="7f3b61dc86a5210313cf7ded3f09a04d"/><file name="MockObjectComparatorTest.php" hash="7c68197da379b65e76ca7aa1fe4b7c9c"/><file name="NumericComparatorTest.php" hash="ee98c54e7c1ac614fbb34f612906433c"/><file name="ObjectComparatorTest.php" hash="3d7a781401f1bc54934fe0d9f7b85ba1"/><file name="ResourceComparatorTest.php" hash="6649cc00c890f2afa4f55a39c416c9b2"/><file name="ScalarComparatorTest.php" hash="d3036a537ea89ae23370f3e72910e341"/><file name="SplObjectStorageComparatorTest.php" hash="d542ebae4527a3b7bc20dade8af3cbde"/><file name="TypeComparatorTest.php" hash="d78b4e6c380ae8bc338d8cd50a40b2ed"/><dir name="_files"><file name="Author.php" hash="bd551237dbd13ad6e98245f83a12f1ec"/><file name="Book.php" hash="fe14f4d0318259bf566d8866991bd4ec"/><file name="ClassWithToString.php" hash="ac27ddf96f7fd8626a46ce4ee3993f81"/><file name="SampleClass.php" hash="46c89df9fdfae7dc574287eda28eb6a3"/><file name="Struct.php" hash="913bf3b33bfff6a1626481d44a9b7f33"/><file name="TestClass.php" hash="ebcf3cf1a7b37fbf68cab0d3679b324a"/><file name="TestClassComparator.php" hash="a8fb9aaf92b9ede1fa149840d03771d4"/></dir><file name="autoload.php" hash="9cce468ff2690d0297beee40726b1030"/><file name="bootstrap.php" hash="236e083331e4efbb858c8da45fb5a5ea"/></dir><file name=".gitignore" hash="6688911322aac3a70b11a38dad9e5bee"/><file name=".travis.yml" hash="386c3106699df022ab3bc0d33eabb5e0"/></dir><dir name="diff"><file name="LICENSE" hash="ca6d5850c9cb3496928f50964fac3bbe"/><file name="README.md" hash="deda2c28563bfd81de81ebb1370252e5"/><file name="build.xml" hash="bd8c09cdf0c219d2306df98aa01fc82f"/><file name="composer.json" hash="73b8b9ce272e5895c019b77f5dde35ef"/><file name="phpunit.xml.dist" hash="4ada0ec19d14c052fddc93e8acce9e37"/><dir name="src"><file name="Chunk.php" hash="48aff449fd592e8cfd828e1320732218"/><file name="Diff.php" hash="767c2f6c24f92573138bb97147d083dc"/><file name="Differ.php" hash="e7b046e3b830cbb3238bc07cd8562649"/><dir name="LCS"><file name="LongestCommonSubsequence.php" hash="9c88dd5715c0e060df9721f4e0eca9ff"/><file name="MemoryEfficientLongestCommonSubsequenceImplementation.php" hash="db896c39093c2e2b13868df3b36f4473"/><file name="TimeEfficientLongestCommonSubsequenceImplementation.php" hash="556fa3911d1d845d182ab728d2b0db98"/></dir><file name="Line.php" hash="d2df085fbc6a2d5140c4e91ae31a9326"/><file name="Parser.php" hash="d611eabd628ad0bb99b4e09acca42fb3"/></dir><dir name="tests"><file name="DifferTest.php" hash="67430770efa2b3068fb6f74ff17c1735"/><dir name="LCS"><file name="TimeEfficientImplementationTest.php" hash="552b8927d6d9e35ab546853b281047ad"/></dir><file name="ParserTest.php" hash="b18c7a3bce69004ce424e25500b3ce69"/><dir name="fixtures"><file name="patch.txt" hash="aaf128a73cff1714cd5c6d0a89e76fcd"/><file name="patch2.txt" hash="3fd15fc72b373fe05f91b4299ab2742e"/></dir></dir><file name=".gitignore" hash="58796666bf28f25566f3600e965a82c4"/><file name=".php_cs" hash="77b172af028295312321c8c33de28155"/><file name=".travis.yml" hash="24c8c43884cc8c08e5f49a0bfe5fe304"/></dir><dir name="environment"><file name="LICENSE" hash="dbf0045647f54a51ab90ec8b006cff3f"/><file name="README.md" hash="2d76476b44815d03c0809ec5146a1dd5"/><file name="build.xml" hash="26e9c4c6b6377625a25ce5190158a271"/><file name="composer.json" hash="0e6610aac61b74a9d6f9ea1cd431c400"/><file name="phpunit.xml" hash="1aa9f46a7dfea9b0a3790a0330113b92"/><dir name="src"><file name="Console.php" hash="dd0fdfb1368b839f7764c4bfc5f3684c"/><file name="Runtime.php" hash="6885e32096216a4ccbf27025bfee17c6"/></dir><dir name="tests"><file name="ConsoleTest.php" hash="82cf1178f74353a49879b5fcd4b18032"/><file name="RuntimeTest.php" hash="e2c3aac76daf7143cccdfcb8c3fac4c5"/></dir><file name=".gitignore" hash="8bbdb64474762aac4076738e138d0567"/><file name=".travis.yml" hash="87e6036734954fccced4646f76c42451"/></dir><dir name="exporter"><file name="LICENSE" hash="ca5308c75c627563e786a486b66b58d5"/><file name="README.md" hash="9731148da5ff0ca1ad7925fbf1b0c5c9"/><file name="build.xml" hash="049acac14b593bbbf793d4d831f68143"/><file name="composer.json" hash="907effe11632adcbe92a5458038f0540"/><file name="phpunit.xml.dist" hash="c83bc64a2b552d037530e57760cc6470"/><dir name="src"><file name="Exporter.php" hash="2e4cd1cb7d88ead4b083c52f04a93e26"/></dir><dir name="tests"><file name="ExporterTest.php" hash="dace42ca6b97076cd59d792b19f21816"/></dir><file name=".gitignore" hash="d57866403d240c90949b91ac746df06d"/><file name=".travis.yml" hash="c304e66ee9f79a8e983fd9cb5e88f86e"/></dir><dir name="global-state"><file name="LICENSE" hash="6c65a6464f0d7d694c3ffc09d0d0c319"/><file name="README.md" hash="abb7bf8924e43274b107ac482af2fa2d"/><file name="build.xml" hash="6984ca27d9261a7d15f6062d68f9917f"/><file name="composer.json" hash="1fa2aabf6d581180599e5005b48a1d22"/><file name="phpunit.xml.dist" hash="7c7c435927d78945b7ca4ec1d6dadb2d"/><dir name="src"><file name="Blacklist.php" hash="7ac61709615673f33c042470bf098fd3"/><file name="CodeExporter.php" hash="7a8ce26c56cf4435bf9378ade094ddae"/><file name="Exception.php" hash="e5e040acdd60402728fa7222f784946b"/><file name="Restorer.php" hash="ff082139937d7ac654dc00aca4048522"/><file name="RuntimeException.php" hash="157c6e7d8fa97749d30807c5db4a71f7"/><file name="Snapshot.php" hash="e9a33047d2225395575291d0630be9c2"/></dir><dir name="tests"><file name="BlacklistTest.php" hash="950104eb10dd9f8686729da9d989a51d"/><file name="SnapshotTest.php" hash="9f68892b53fbf3e412bf5fe7cecc365e"/><dir name="_fixture"><file name="BlacklistedChildClass.php" hash="89c4830f5056b641bf1d0e397b193108"/><file name="BlacklistedClass.php" hash="e2f5de9a4cf6de3942b105df12a20a31"/><file name="BlacklistedImplementor.php" hash="9103e52d8cd91e7a6771999f01a34683"/><file name="BlacklistedInterface.php" hash="f452c1ee77cba262d99d534d384f064e"/><file name="SnapshotClass.php" hash="9267f3a300d464721992fb3de35f23ea"/><file name="SnapshotDomDocument.php" hash="7ed58da936892662ab37922107b274db"/><file name="SnapshotFunctions.php" hash="f01959a08b45cf051f6dd07be2e8d131"/><file name="SnapshotTrait.php" hash="a54916b8b8f9dbfa7b5123fbed35e513"/></dir></dir><file name=".gitignore" hash="a61ea0cf9eab158a6f63ff536744746a"/><file name=".travis.yml" hash="54683a386bf74e6ccd12040370c4db79"/></dir><dir name="recursion-context"><file name="LICENSE" hash="72511fcbecf891440f34e9dcd3c995c9"/><file name="README.md" hash="dc962844e83d16aa4cc9f4acb5209f0b"/><file name="build.xml" hash="3f9fe7c26b37319cb257a6ca2a5e0d93"/><file name="composer.json" hash="e96087f0cd3f427ac07c1f2d5e32686b"/><file name="phpunit.xml.dist" hash="44782f10d1ae1d0ab67e03be2068549f"/><dir name="src"><file name="Context.php" hash="9a18077776c911f0a1325f4c15c60378"/><file name="Exception.php" hash="0f84fba818b684c3163ffdfd1754f6d8"/><file name="InvalidArgumentException.php" hash="4babb8647d1e938e8e37fddcf465ce03"/></dir><dir name="tests"><file name="ContextTest.php" hash="1ac8f07d1fe1f162741f161e27df5c63"/></dir><file name=".gitignore" hash="d57866403d240c90949b91ac746df06d"/><file name=".travis.yml" hash="fa3ba0b60448f6c880a66f4bb4260a5e"/></dir><dir name="version"><file name="LICENSE" hash="4ce80303f482fe6c5a07929ddbc80147"/><file name="README.md" hash="69d774cde2e397a13078fbaf108caaf8"/><file name="composer.json" hash="2d145b55932ff4596f23a37053712e5b"/><dir name="src"><file name="Version.php" hash="852905ae26e23d94e8d92781f4acc746"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="9c5d192e07030c7f565a5e83e5443df2"/></dir></dir><dir name="squizlabs"><dir name="php_codesniffer"><file name="CONTRIBUTING.md" hash="eb203c96bf3faa47a4f8bce2e534b1d8"/><dir name="CodeSniffer"><file name="CLI.php" hash="44fb6eb79d158b4ec0003ea90071b6b8"/><dir name="DocGenerators"><file name="Generator.php" hash="c80023edf2f4afd0044e6c901f199dca"/><file name="HTML.php" hash="4f0ce5b293ea33dcf97e6eab9405c7a3"/><file name="Markdown.php" hash="e596e5220486410c6a758cda902de05e"/><file name="Text.php" hash="19c67e6b9e152ec21fb155153c9bd58c"/></dir><file name="Exception.php" hash="fcaff899659ddcfaeb17e4d1ab9dd9df"/><file name="File.php" hash="c4040f7827076747d8714c8702248f24"/><file name="Fixer.php" hash="876993b4e4fcee264ee65e90cecf18e5"/><file name="Report.php" hash="c8bcf1243ebd7a9a5884ecb9d7edf309"/><file name="Reporting.php" hash="89ca0bd640518147fec4d54f13c2d308"/><dir name="Reports"><file name="Cbf.php" hash="f78579254be2fd2eead238edc025bee2"/><file name="Checkstyle.php" hash="70e28381d94bff5ac4d00aac0b636f37"/><file name="Csv.php" hash="011193949bc8af69ce20c5f867501306"/><file name="Diff.php" hash="f1bb18cab402593f919d342dd9794fae"/><file name="Emacs.php" hash="035bebb7d774f7df0ec0566f9d5b337b"/><file name="Full.php" hash="310baa75d5c4728fdf87446c7a995e7b"/><file name="Gitblame.php" hash="6f6c697bc99e9e684928635a1459b517"/><file name="Hgblame.php" hash="82ff0dfdefcd86d94c1b96c1005a329a"/><file name="Info.php" hash="7860d1b756f54fff5d889324eb6ebc62"/><file name="Json.php" hash="9ded97b8409765eef7e42193532408c2"/><file name="Junit.php" hash="3b0bddc8a314d512d65d153f93b3d988"/><file name="Notifysend.php" hash="54d188973bd37cca52d2625d6f75a1b3"/><file name="Source.php" hash="b7e3feaeab8d61393e63325214d7a0c1"/><file name="Summary.php" hash="31b9ee6833ed99a714457d2610cf2ae7"/><file name="Svnblame.php" hash="3e3c83bf07027814ef1df55f1a32c34b"/><file name="VersionControl.php" hash="feb78cfae0ea5ab9c65cd9a1ed23bc50"/><file name="Xml.php" hash="f5747f32e9bfbd0b866661bfbb4c7342"/></dir><file name="Sniff.php" hash="74dda3d7952cbf3d2990605bead7c70d"/><dir name="Standards"><file name="AbstractPatternSniff.php" hash="81f0cf1715ade3c5add0661fdb1cb58d"/><file name="AbstractScopeSniff.php" hash="add53c1d5738fb91bd090547b79466c4"/><file name="AbstractVariableSniff.php" hash="ac49c598e882152e348b2aadbd03e081"/><dir name="Generic"><dir name="Docs"><dir name="Classes"><file name="DuplicateClassNameStandard.xml" hash="09ce1ee2e667e285e0bc6f12c6b16eae"/><file name="OpeningBraceSameLineStandard.xml" hash="66d42eef4d0a5b13accd228ec38c0dfd"/></dir><dir name="CodeAnalysis"><file name="EmptyStatementStandard.xml" hash="dd1e8e78d5fd132c488682442a9f4993"/><file name="ForLoopShouldBeWhileLoopStandard.xml" hash="5fca871f5bfd3d3e117b2455e4885662"/><file name="ForLoopWithTestFunctionCallStandard.xml" hash="1968d3305bc8940872beef2ded3c4f72"/><file name="JumbledIncrementerStandard.xml" hash="abbc0419b5ddbd094d5b6d69a26f72ac"/><file name="UnconditionalIfStatementStandard.xml" hash="1dac87dae57656578fa8b1ba782189bb"/><file name="UnnecessaryFinalModifierStandard.xml" hash="74ed244fa9d088197a068e8de61e9a4f"/><file name="UnusedFunctionParameterStandard.xml" hash="78c7daf9578d2624de66f5172f3af5c5"/><file name="UselessOverridingMethodStandard.xml" hash="4bc3a1be74cf86956c395c61f49b3a5e"/></dir><dir name="Commenting"><file name="FixmeStandard.xml" hash="b3dcec93c508f3be380818c2a8d35865"/><file name="TodoStandard.xml" hash="0cc4f95f8f7a3883300743bb88850013"/></dir><dir name="ControlStructures"><file name="InlineControlStructureStandard.xml" hash="f6049fa662dbed93aacb719c79225592"/></dir><dir name="Debug"><file name="CSSLintStandard.xml" hash="ba59a6b43ae935db6c23434ee65b676e"/><file name="ClosureLinterStandard.xml" hash="b2cd9c46f2bc007d81272d324b25f333"/><file name="JSHintStandard.xml" hash="3a5efd9d84e677fc3bd05ac5d414a22b"/></dir><dir name="Files"><file name="ByteOrderMarkStandard.xml" hash="b137c1376a2664010fdda00645ba52a4"/><file name="EndFileNewlineStandard.xml" hash="b03178b04285d4a12dc253753552a7d0"/><file name="EndFileNoNewlineStandard.xml" hash="443cfd71e7194e09ad00f6ce79ce6d67"/><file name="InlineHTMLStandard.xml" hash="70eb8afbb2b964437d0d8ef76059b76f"/><file name="LineEndingsStandard.xml" hash="2b5ae42cdcc266ea919e65b1183dbe4b"/><file name="LineLengthStandard.xml" hash="5d6ef4a4de5a13c34e0813bbfb34cc1b"/><file name="LowercasedFilenameStandard.xml" hash="268e378573427e71991bca18907d18a9"/><file name="OneClassPerFileStandard.xml" hash="bc717d744854037a100dbce2c482ddc4"/><file name="OneInterfacePerFileStandard.xml" hash="85b5b9f411af797487fcd569a238638b"/></dir><dir name="Formatting"><file name="DisallowMultipleStatementsStandard.xml" hash="645c798d2c00fac7036e7a6e6c8d3466"/><file name="MultipleStatementAlignmentStandard.xml" hash="7f6084ced23147c15bb031f85b23cbc4"/><file name="NoSpaceAfterCastStandard.xml" hash="9aba38605e1ef11f846b614055e7e02e"/><file name="SpaceAfterCastStandard.xml" hash="7b75c5b04193a312260f03779705714e"/></dir><dir name="Functions"><file name="CallTimePassByReferenceStandard.xml" hash="db368fdd693d9b10290c734c02e1859e"/><file name="FunctionCallArgumentSpacingStandard.xml" hash="c649b370eee7429572a8abb283363b30"/><file name="OpeningFunctionBraceBsdAllmanStandard.xml" hash="72e2b9b475a809e76fd9ca90bd5d8d9a"/><file name="OpeningFunctionBraceKernighanRitchieStandard.xml" hash="4488d3c4648045eceebdbd102d6645a0"/></dir><dir name="Metrics"><file name="CyclomaticComplexityStandard.xml" hash="e6f564da68adaf4ba9ef330ae9090133"/><file name="NestingLevelStandard.xml" hash="abb8f4e2e3681c96a6be26de1482769c"/></dir><dir name="NamingConventions"><file name="CamelCapsFunctionNameStandard.xml" hash="a132b1e5f691bafab3ac6ac589582102"/><file name="ConstructorNameStandard.xml" hash="15d11a08a93c27be384ebffd88a14ac5"/><file name="UpperCaseConstantNameStandard.xml" hash="92ab09457475cb363e4c16564700682e"/></dir><dir name="PHP"><file name="BacktickOperatorStandard.xml" hash="442be3c8ee6d95e3e6a49756e3c58b23"/><file name="CharacterBeforePHPOpeningTagStandard.xml" hash="643f4a24c9fd9f0a3e9ddc2fb01b1454"/><file name="ClosingPHPTagStandard.xml" hash="2b1998ff7bfe27550b3545ab493fb451"/><file name="DeprecatedFunctionsStandard.xml" hash="a07b3389c1392b1fb8a8fdf56456c2d3"/><file name="DisallowAlternativePHPTagsStandard.xml" hash="b62c48449691f536534b4eb6aca7e378"/><file name="DisallowShortOpenTagStandard.xml" hash="1a934313b977708b83f932787395cc7b"/><file name="ForbiddenFunctionsStandard.xml" hash="56c1aa1d971883d75f2fad3eea8c14be"/><file name="LowerCaseConstantStandard.xml" hash="1ac683475da256800f880b37efd9feae"/><file name="LowerCaseKeywordStandard.xml" hash="7b9a8104c185c6de35d9d59a0d41ba0e"/><file name="NoSilencedErrorsStandard.xml" hash="4587e7de5431c46dcaa9153c20e223d3"/><file name="SAPIUsageStandard.xml" hash="2354242590f88b89aafdd52e9a254b52"/><file name="UpperCaseConstantStandard.xml" hash="a8835c84ae940bed241fda507a000d38"/></dir><dir name="Strings"><file name="UnnecessaryStringConcatStandard.xml" hash="dbf7a1b01e799ba2fbc6ce8288af2afa"/></dir><dir name="VersionControl"><file name="SubversionPropertiesStandard.xml" hash="9bbed11883b0ea004b0bc823a145a7d0"/></dir><dir name="WhiteSpace"><file name="DisallowSpaceIndentStandard.xml" hash="72862f24ee2c5fbf1adce94ea182e5d0"/><file name="DisallowTabIndentStandard.xml" hash="9b6f8015f2c468e83f8fdd6c3b365ca8"/><file name="ScopeIndentStandard.xml" hash="e9569d4b81b45d746ab8217ee8f87136"/></dir></dir><dir name="Sniffs"><dir name="Arrays"><file name="DisallowLongArraySyntaxSniff.php" hash="2d586d06e34aa60f2238e892bc7579f6"/><file name="DisallowShortArraySyntaxSniff.php" hash="b6bfc07b7a5f0d81142a40ee493b4cfe"/></dir><dir name="Classes"><file name="DuplicateClassNameSniff.php" hash="4ccd95ee5a097f1c00665f2e5e81a108"/><file name="OpeningBraceSameLineSniff.php" hash="8fa0bb4bad4fb7f442b31d2cc18ca8ea"/></dir><dir name="CodeAnalysis"><file name="EmptyStatementSniff.php" hash="b22309167844ffb5540c04a270ae9618"/><file name="ForLoopShouldBeWhileLoopSniff.php" hash="20389bfc94da62d165c90828a90c8f04"/><file name="ForLoopWithTestFunctionCallSniff.php" hash="345238ceed51d3dc55639c342ef148e8"/><file name="JumbledIncrementerSniff.php" hash="db7d82a9f54c49578de4efc3936e811c"/><file name="UnconditionalIfStatementSniff.php" hash="02f2aac3017af0f79aa1613d88c86450"/><file name="UnnecessaryFinalModifierSniff.php" hash="56ca0b8915a217e42326777d5b099dde"/><file name="UnusedFunctionParameterSniff.php" hash="cdb37619bd916ac4875a71d367324663"/><file name="UselessOverridingMethodSniff.php" hash="092498d1ccd2e87ba30457f5af1e2ee6"/></dir><dir name="Commenting"><file name="DocCommentSniff.php" hash="c0a770a32a50a7776bd0428f602c4d54"/><file name="FixmeSniff.php" hash="6d764dd792c0fa00be8f71ca3244bd01"/><file name="TodoSniff.php" hash="441b5621b00abd697911bcbbd73f32ff"/></dir><dir name="ControlStructures"><file name="InlineControlStructureSniff.php" hash="deee4620fab7bfb1692b4ed8fcbe2559"/></dir><dir name="Debug"><file name="CSSLintSniff.php" hash="9fed64e6de34c36f65192169a8763d9c"/><file name="ClosureLinterSniff.php" hash="95beadd638acba6a7dba66d5f21e6de6"/><file name="JSHintSniff.php" hash="451820155ca49e5808757a38cb09280d"/></dir><dir name="Files"><file name="ByteOrderMarkSniff.php" hash="d1b76bd9ab3cbfffffb4ef48d736929a"/><file name="EndFileNewlineSniff.php" hash="db2c957aee4ba0665dc1aaa9d4ea1d96"/><file name="EndFileNoNewlineSniff.php" hash="5ecfd27e5cc389fb44a19e79b5547162"/><file name="InlineHTMLSniff.php" hash="33069686617204b88d373d192d654e8d"/><file name="LineEndingsSniff.php" hash="27d3608dd4c4ecb407c93a210c1baee2"/><file name="LineLengthSniff.php" hash="ca801b6a271c03602c377d0c01211f66"/><file name="LowercasedFilenameSniff.php" hash="15abae2435a2b9737f4d1499a4860766"/><file name="OneClassPerFileSniff.php" hash="16cbe1efa7634b50f41fc2f3ea69e96b"/><file name="OneInterfacePerFileSniff.php" hash="52bd0807cfec860723d6ea4b7e3e8b01"/><file name="OneTraitPerFileSniff.php" hash="60b66d78cf2dd8aa810fc815205eefb3"/></dir><dir name="Formatting"><file name="DisallowMultipleStatementsSniff.php" hash="1109a0680aaa449f9dbf5e91cafc9536"/><file name="MultipleStatementAlignmentSniff.php" hash="8a677bd9f0612397599a1be0265110b5"/><file name="NoSpaceAfterCastSniff.php" hash="a6455ae37b29de0c12d47e3e9f5cc885"/><file name="SpaceAfterCastSniff.php" hash="13170798700540b941c2dfb89ef8c075"/><file name="SpaceAfterNotSniff.php" hash="9a7c633d2f45f8ab23cb726186526d4b"/></dir><dir name="Functions"><file name="CallTimePassByReferenceSniff.php" hash="9298f1adedbdad787f01ce75a56562fe"/><file name="FunctionCallArgumentSpacingSniff.php" hash="d6e3b9482495d04fdb5e801e7407db28"/><file name="OpeningFunctionBraceBsdAllmanSniff.php" hash="1a0d4af6f44ee92961e9e91211f31912"/><file name="OpeningFunctionBraceKernighanRitchieSniff.php" hash="7ee36b8c44ef373639b0b1ebda5b07c5"/></dir><dir name="Metrics"><file name="CyclomaticComplexitySniff.php" hash="c84a398b81b2417ffbf88afde475cad7"/><file name="NestingLevelSniff.php" hash="fcf3f1a2d10537228a76a8b22e441748"/></dir><dir name="NamingConventions"><file name="CamelCapsFunctionNameSniff.php" hash="424c9bc3e804c14a014f4d0117c76b49"/><file name="ConstructorNameSniff.php" hash="9a9c5a41da67d16a5406c457a4460e4d"/><file name="UpperCaseConstantNameSniff.php" hash="fc9b75da6c71ca1c93e845a1405da96b"/></dir><dir name="PHP"><file name="BacktickOperatorSniff.php" hash="b18b727fed883d71463ded9197e6f3af"/><file name="CharacterBeforePHPOpeningTagSniff.php" hash="c5d77e2e96b5500d25d349aa7e83b7b7"/><file name="ClosingPHPTagSniff.php" hash="1c3f88313a37fc625ead4bff13730ddc"/><file name="DeprecatedFunctionsSniff.php" hash="b2a8dd8a015730dee4f10193cc8feb17"/><file name="DisallowAlternativePHPTagsSniff.php" hash="8a37be24a23dab91e8af109562c4bd60"/><file name="DisallowShortOpenTagSniff.php" hash="4c36becffcc051090bd75c516bd8038f"/><file name="ForbiddenFunctionsSniff.php" hash="eb22d0afca038891bf31ff395ef94160"/><file name="LowerCaseConstantSniff.php" hash="ffc138edbbc8cd07e239f9009478c2e5"/><file name="LowerCaseKeywordSniff.php" hash="3bdf7b176a6f6fb374f4be96b3dc324a"/><file name="NoSilencedErrorsSniff.php" hash="263452d964629d62a6669e26fe05e37d"/><file name="SAPIUsageSniff.php" hash="5159f7cec2865e2e51c743c95dd7cec8"/><file name="SyntaxSniff.php" hash="aaa5a59b18bf4c997d0c7def3de4190b"/><file name="UpperCaseConstantSniff.php" hash="b52467a0b29de456ee209a633a03dd94"/></dir><dir name="Strings"><file name="UnnecessaryStringConcatSniff.php" hash="9aa4b58a9fcd43d9458a73e2439192d4"/></dir><dir name="VersionControl"><file name="SubversionPropertiesSniff.php" hash="9b6d45972d17961d7aaa956be74af216"/></dir><dir name="WhiteSpace"><file name="DisallowSpaceIndentSniff.php" hash="6e6165d653014b9c30a2ac40417136b0"/><file name="DisallowTabIndentSniff.php" hash="aa95186da143fe4952b8b680d128c464"/><file name="ScopeIndentSniff.php" hash="e713b7ab9726ff40527338720a2d5970"/></dir></dir><file name="ruleset.xml" hash="5634ea56fd8938ee1919fd5dbcc38488"/></dir><file name="IncorrectPatternException.php" hash="718b1b62d42e67fae09e1007fcccb1d1"/><dir name="MySource"><dir name="Sniffs"><dir name="CSS"><file name="BrowserSpecificStylesSniff.php" hash="7acf17a6faf5d4fb0eaa3a0befda2516"/></dir><dir name="Channels"><file name="DisallowSelfActionsSniff.php" hash="4100524f47fa8477b449188bcf885432"/><file name="IncludeOwnSystemSniff.php" hash="3224a4e1a3b76e87bf351b893ece8434"/><file name="IncludeSystemSniff.php" hash="d6b6bdab23d62f974d326c7ca19b7105"/><file name="UnusedSystemSniff.php" hash="9a19d5eeb1ac3e70f8b7cd63cbe2acbb"/></dir><dir name="Commenting"><file name="FunctionCommentSniff.php" hash="ac32bb50fc176feaebd5c50a3af2e7d2"/></dir><dir name="Debug"><file name="DebugCodeSniff.php" hash="4c5053faa10a3df769a834eadadd296c"/><file name="FirebugConsoleSniff.php" hash="8478031ab928da0865597d9a86ecb118"/></dir><dir name="Objects"><file name="AssignThisSniff.php" hash="e6337aea9fa7adf2398b2ddfe3107a7b"/><file name="CreateWidgetTypeCallbackSniff.php" hash="595c7c13f383ddfd1cd4f60987c69ec0"/><file name="DisallowNewWidgetSniff.php" hash="8d706d1c95c7a314d3f29911033d01d9"/></dir><dir name="PHP"><file name="AjaxNullComparisonSniff.php" hash="d64742d5f90a34615d1989ca650c47f9"/><file name="EvalObjectFactorySniff.php" hash="9ec43c35f6f179651fabf0cd8c2814e5"/><file name="GetRequestDataSniff.php" hash="5f909824aa56fb41c0f6c3fdb92e62ee"/><file name="ReturnFunctionValueSniff.php" hash="426b265f357b27aa4ee8952c4e3e9686"/></dir><dir name="Strings"><file name="JoinStringsSniff.php" hash="1a60705df1af47e14940d503a5788ede"/></dir></dir><file name="ruleset.xml" hash="48cf8281e8635fbeff9877e198591054"/></dir><dir name="PEAR"><dir name="Docs"><dir name="Classes"><file name="ClassDeclarationStandard.xml" hash="164cd0bfba5d5ee4cb9830ae09d623da"/></dir><dir name="Commenting"><file name="ClassCommentStandard.xml" hash="b557565c04bfcd627ed7752642a24390"/><file name="FileCommentStandard.xml" hash="8f30301ab881c174ace42c99a099df37"/><file name="FunctionCommentStandard.xml" hash="b48803219478b3548e97777433547c8b"/><file name="InlineCommentStandard.xml" hash="116cdb66f41357afea1ccde91bf3a782"/></dir><dir name="ControlStructures"><file name="ControlSignatureStandard.xml" hash="206ad4e5ab7b5ede4deb4ed512a9d8b7"/><file name="MultiLineConditionStandard.xml" hash="bcc768189b74dd3d530281c01138a7e9"/></dir><dir name="Files"><file name="IncludingFileStandard.xml" hash="770028f85deb584a9479374f0ae4a3c9"/><file name="LineLengthStandard.xml" hash="dee46187d37f8fb07869fdc80230d94f"/></dir><dir name="Formatting"><file name="MultiLineAssignmentStandard.xml" hash="e1ac447c084d84b6daef68437ed212cc"/></dir><dir name="Functions"><file name="FunctionCallSignatureStandard.xml" hash="eb647b510eb0e12cc38780b435ea7c28"/><file name="FunctionDeclarationStandard.xml" hash="8b78bd675f5f511a263f5cc4ed672a74"/><file name="ValidDefaultValueStandard.xml" hash="c06cfd422bd0448fea890c5f160aaaa4"/></dir><dir name="NamingConventions"><file name="ValidClassNameStandard.xml" hash="7a8cb7f0170d43276b8d2269cf91c4d1"/><file name="ValidFunctionNameStandard.xml" hash="9a148130eea909affd2bf4085c175515"/><file name="ValidVariableNameStandard.xml" hash="16059d7e2176ab2178e3da7150fa4926"/></dir><dir name="WhiteSpace"><file name="ObjectOperatorIndentStandard.xml" hash="f35f1608d67b5c38d76eeb778d8617cc"/><file name="ScopeClosingBraceStandard.xml" hash="a449ba78ece1fb077585b031e8410925"/><file name="ScopeIndentStandard.xml" hash="98576702129bc924dfb0749417b19b17"/></dir></dir><dir name="Sniffs"><dir name="Classes"><file name="ClassDeclarationSniff.php" hash="abd1110e1c9c14b1267812e39d43a2be"/></dir><dir name="Commenting"><file name="ClassCommentSniff.php" hash="dd96eb718b1e28098ca87029b4593eb7"/><file name="FileCommentSniff.php" hash="bc5f5711074d6b130442ab9cb549507f"/><file name="FunctionCommentSniff.php" hash="19037d07e7a4272b9a46e5d1340b1ca6"/><file name="InlineCommentSniff.php" hash="715fa3e8f200b18e493908014eadcc71"/></dir><dir name="ControlStructures"><file name="ControlSignatureSniff.php" hash="b33166fabf57a0ab285e45f648519329"/><file name="MultiLineConditionSniff.php" hash="03c7dd4494b8a0dc13ded7e2c768e75d"/></dir><dir name="Files"><file name="IncludingFileSniff.php" hash="848cc50eda3718608428f06eaa6fdfc4"/></dir><dir name="Formatting"><file name="MultiLineAssignmentSniff.php" hash="ec09ed1ae7f832346afb1a86dc077fd6"/></dir><dir name="Functions"><file name="FunctionCallSignatureSniff.php" hash="fc53eddb0334b6ed75024458999d1a01"/><file name="FunctionDeclarationSniff.php" hash="49675cb134b71b020ed89f5a27f29b18"/><file name="ValidDefaultValueSniff.php" hash="4fd00d8e3a431e994b192d21782a2f7c"/></dir><dir name="NamingConventions"><file name="ValidClassNameSniff.php" hash="3424d838c657820e800404e8538a9957"/><file name="ValidFunctionNameSniff.php" hash="5ce00e5f99c43226832fc0babc5acbc5"/><file name="ValidVariableNameSniff.php" hash="a6b8461b87fbec90686e86cf3c28047c"/></dir><dir name="WhiteSpace"><file name="ObjectOperatorIndentSniff.php" hash="b98aafbdf047883a09cb90604da27451"/><file name="ScopeClosingBraceSniff.php" hash="0d93e5cfe33ed8fc36671abd872df6d7"/><file name="ScopeIndentSniff.php" hash="2f7b47c18bc50220420872c433948fdd"/></dir></dir><file name="ruleset.xml" hash="d9513c5d11c22a87665420631a15b135"/></dir><dir name="PHPCS"><file name="ruleset.xml" hash="4b12af262260edcf0f21a0cc1e38a435"/></dir><dir name="PSR1"><dir name="Docs"><dir name="Classes"><file name="ClassDeclarationStandard.xml" hash="c500324edd32dd6d5fac4e233aa866fa"/></dir><dir name="Files"><file name="SideEffectsStandard.xml" hash="7b0907673957b7bf80663696a663ff6c"/></dir></dir><dir name="Sniffs"><dir name="Classes"><file name="ClassDeclarationSniff.php" hash="aed268b4be1f79780eadf1e0f147c424"/></dir><dir name="Files"><file name="SideEffectsSniff.php" hash="5fbc0ead0078e3c98d3ad2b87d00d5f6"/></dir><dir name="Methods"><file name="CamelCapsMethodNameSniff.php" hash="96d27d4a502daa9ccb475706f56469d0"/></dir></dir><file name="ruleset.xml" hash="8e8b5361060ad9c2e04af9a422990c68"/></dir><dir name="PSR2"><dir name="Docs"><dir name="Classes"><file name="ClassDeclarationStandard.xml" hash="5b48bb68ed1e69ec9f8c5f349e93f506"/><file name="PropertyDeclarationStandard.xml" hash="ce8e43eca80ef382865008eb8bf764e4"/></dir><dir name="ControlStructures"><file name="ControlStructureSpacingStandard.xml" hash="8282fe64de19569eb1756ae2ff7d1947"/><file name="ElseIfDeclarationStandard.xml" hash="031188d15bcfd9a39c10f409c8974799"/><file name="SwitchDeclarationStandard.xml" hash="b3b65f2db67599c695442624cf174073"/></dir><dir name="Files"><file name="EndFileNewlineStandard.xml" hash="17a9a0d20c5d932df90a36101f7fe18f"/></dir><dir name="Methods"><file name="MethodDeclarationStandard.xml" hash="1104ac650d64515e5e668b3f4b44ec79"/></dir><dir name="Namespaces"><file name="NamespaceDeclarationStandard.xml" hash="bc5fb6d5b29b3fc3900268a230ccb954"/><file name="UseDeclarationStandard.xml" hash="ec4ccfb1593a8fb624f14a6ffecd1181"/></dir></dir><dir name="Sniffs"><dir name="Classes"><file name="ClassDeclarationSniff.php" hash="5faa421b73e5e210aebac2f676823988"/><file name="PropertyDeclarationSniff.php" hash="b19776bf9fb94ce4739a1a8c9421dbb9"/></dir><dir name="ControlStructures"><file name="ControlStructureSpacingSniff.php" hash="e47fb675a6e1a6761c4226607cf4e6b3"/><file name="ElseIfDeclarationSniff.php" hash="03bb6b1efe4de2bbe801633b7ae4b4e4"/><file name="SwitchDeclarationSniff.php" hash="55a5a7dfd1e564022479a978a4d1cc95"/></dir><dir name="Files"><file name="ClosingTagSniff.php" hash="155ef899693c33c65cec5cf695051a79"/><file name="EndFileNewlineSniff.php" hash="9956b6ce9a2395525624fe07c0d071fb"/></dir><dir name="Methods"><file name="FunctionCallSignatureSniff.php" hash="6b0e4f3c04eaa46913e53d53a2edfbf1"/><file name="FunctionClosingBraceSniff.php" hash="672f9c51cf3a9efaf280dd91742ea3f9"/><file name="MethodDeclarationSniff.php" hash="4c0227827cb937432472b3ddc3e456e9"/></dir><dir name="Namespaces"><file name="NamespaceDeclarationSniff.php" hash="355c84928985ba36ec6f4beb96fc499e"/><file name="UseDeclarationSniff.php" hash="93bdccf1a01c21d1f23523cc47c80d9b"/></dir></dir><file name="ruleset.xml" hash="35a86388d3bcbce9ab15db790b472d6b"/></dir><dir name="Squiz"><dir name="Docs"><dir name="Arrays"><file name="ArrayBracketSpacingStandard.xml" hash="8f5a3f78a1366c2514b2084c27133a94"/><file name="ArrayDeclarationStandard.xml" hash="29a11a9686378c88104774ac0356d4c3"/></dir><dir name="Classes"><file name="LowercaseClassKeywordsStandard.xml" hash="0d52c96dc30c6d4adc2d18731ebbb8d3"/><file name="SelfMemberReferenceStandard.xml" hash="e0412fbfda98825d5aefeccf05be6d75"/></dir><dir name="Commenting"><file name="DocCommentAlignmentStandard.xml" hash="765734a297db823187564ec0ebd0407c"/><file name="FunctionCommentThrowTagStandard.xml" hash="5b3f89dc3dadb4b51be5c10bcdc90022"/></dir><dir name="ControlStructures"><file name="ForEachLoopDeclarationStandard.xml" hash="631360ae228f9c289d78a19e247fb1cc"/><file name="ForLoopDeclarationStandard.xml" hash="4b9912af0792027aedefc10082a4f9e0"/><file name="LowercaseDeclarationStandard.xml" hash="8c44460bbd8f96bc7b0bec19c504542a"/></dir><dir name="Functions"><file name="FunctionDuplicateArgumentStandard.xml" hash="6dfee2e5c8e62714eb35ffcc43300c90"/><file name="LowercaseFunctionKeywordsStandard.xml" hash="b6ef73ae05dee4d15331ef2868e836f8"/></dir><dir name="Scope"><file name="StaticThisUsageStandard.xml" hash="c5076907ad4f674a6b5570e473b6bdb3"/></dir><dir name="Strings"><file name="EchoedStringsStandard.xml" hash="d920898e7c8b7a595af5993b553a0ba8"/></dir><dir name="WhiteSpace"><file name="CastSpacingStandard.xml" hash="ce8da202c01eb05185917ceec0611879"/><file name="FunctionOpeningBraceStandard.xml" hash="2443b5d38db7776f552c9e1809947c5c"/><file name="LanguageConstructSpacingStandard.xml" hash="2bfda59951f00d64d2e2f21766ebc22b"/><file name="ObjectOperatorSpacingStandard.xml" hash="0bba11ac0fcbe07d1fa86924cdefc1d9"/><file name="ScopeKeywordSpacingStandard.xml" hash="b88249dd363825410343acc26bd519d6"/><file name="SemicolonSpacingStandard.xml" hash="7219a11c03fef4b8cf425148c27052f6"/></dir></dir><dir name="Sniffs"><dir name="Arrays"><file name="ArrayBracketSpacingSniff.php" hash="bf8e4ae63e57a2917624fcc477411e5d"/><file name="ArrayDeclarationSniff.php" hash="642d73e4f071513a2f338dba2132ba1a"/></dir><dir name="CSS"><file name="ClassDefinitionClosingBraceSpaceSniff.php" hash="e03fe7b5c7b7517443e813000a6fa238"/><file name="ClassDefinitionNameSpacingSniff.php" hash="735296d4d1d00d77bcc2a0c8517abe74"/><file name="ClassDefinitionOpeningBraceSpaceSniff.php" hash="373e4f65499fa1f4a04acfbfcf5ee61b"/><file name="ColonSpacingSniff.php" hash="cacd3ff60a89005be50da7b96aa76355"/><file name="ColourDefinitionSniff.php" hash="dee22d39167cc3a7826e63ba38c7bfd2"/><file name="DisallowMultipleStyleDefinitionsSniff.php" hash="3708f3e95f9e90a62d7380f3bd0f2e2d"/><file name="DuplicateClassDefinitionSniff.php" hash="8ff87d892b86364b23f247ef19d99b37"/><file name="DuplicateStyleDefinitionSniff.php" hash="b3c0d44c57303115f22b5aaa892974a8"/><file name="EmptyClassDefinitionSniff.php" hash="d99b8707f3cf99ba791ffde4e8e60a74"/><file name="EmptyStyleDefinitionSniff.php" hash="c79e218e2f748340692049df04be8bab"/><file name="ForbiddenStylesSniff.php" hash="559e47c23d18ea7ad3c02afdd1f9b02f"/><file name="IndentationSniff.php" hash="66af82d471dae23b33fb9b19cc890903"/><file name="LowercaseStyleDefinitionSniff.php" hash="067ad9b5d8965e7229101fe8cee509be"/><file name="MissingColonSniff.php" hash="b12834983fc81f9c1d8eb19640626530"/><file name="NamedColoursSniff.php" hash="36911fd34f8157bd6c781162c0c72e42"/><file name="OpacitySniff.php" hash="b8387d22bb7e94d11accf92fb3aeb772"/><file name="SemicolonSpacingSniff.php" hash="94711172365dde7d8c2f58e0fa83df15"/><file name="ShorthandSizeSniff.php" hash="50fcafb59f5c1923f6d2a08b26fba391"/></dir><dir name="Classes"><file name="ClassDeclarationSniff.php" hash="8f7663bbe8468f80fc33cca2dc252011"/><file name="ClassFileNameSniff.php" hash="eca542525865bf6e1f1ddd4522707c6f"/><file name="DuplicatePropertySniff.php" hash="61754bd9f79fb16428095a872225e03b"/><file name="LowercaseClassKeywordsSniff.php" hash="458c44ee00197ea791d3206218218552"/><file name="SelfMemberReferenceSniff.php" hash="697b015cd587296dc9029683e91322a2"/><file name="ValidClassNameSniff.php" hash="cb890c183184984c5ccdf79d4511df54"/></dir><dir name="Commenting"><file name="BlockCommentSniff.php" hash="c89cec5c6289f33c806a506486003f4d"/><file name="ClassCommentSniff.php" hash="f486b93e70c6b48688e3293319bf17dd"/><file name="ClosingDeclarationCommentSniff.php" hash="d29e04b9fe7a97122f3591580c2cc8a7"/><file name="DocCommentAlignmentSniff.php" hash="c16c421ce1ed2607ab8986176434b71f"/><file name="EmptyCatchCommentSniff.php" hash="b797864c5c33f43ea375c9ead790a213"/><file name="FileCommentSniff.php" hash="fd42a29186a520391a9297e2e93ada22"/><file name="FunctionCommentSniff.php" hash="036074a79dad4de307470d421fc22bb6"/><file name="FunctionCommentThrowTagSniff.php" hash="023ab20220a2fd65ee885497af6a4327"/><file name="InlineCommentSniff.php" hash="9fa252d373553aa0276fb4607b61b6e2"/><file name="LongConditionClosingCommentSniff.php" hash="5736c44c21f51d74a2e1fcb7650ff8c1"/><file name="PostStatementCommentSniff.php" hash="772aeb1f4b76563b00912ffde1836945"/><file name="VariableCommentSniff.php" hash="7057e9edc765eb9c6dd095b5bf10332e"/></dir><dir name="ControlStructures"><file name="ControlSignatureSniff.php" hash="6a7b399370c8fa5cd4e3d900f3a466bb"/><file name="ElseIfDeclarationSniff.php" hash="95f4556dad3ff51386ccc2224225867b"/><file name="ForEachLoopDeclarationSniff.php" hash="54e8d8bf7f0c3106b8aedc895a44b549"/><file name="ForLoopDeclarationSniff.php" hash="3bad37d72857a0043da8ee00cdaf0a89"/><file name="InlineIfDeclarationSniff.php" hash="189c71b18aa59bc75a28d99b63b79495"/><file name="LowercaseDeclarationSniff.php" hash="64e10ecccbdb457d3bf18603cb2b6d1d"/><file name="SwitchDeclarationSniff.php" hash="3f043db18a4f070b6b12d809556ce112"/></dir><dir name="Debug"><file name="JSLintSniff.php" hash="94fecfe4ae3ed6f912d40abcf7b09d78"/><file name="JavaScriptLintSniff.php" hash="177d48ce334f4ae20439773965306e4a"/></dir><dir name="Files"><file name="FileExtensionSniff.php" hash="e61e9d385bbeddb69ecbb41ba1b4850c"/></dir><dir name="Formatting"><file name="OperatorBracketSniff.php" hash="999d29eda12bce40a0c277481d228efa"/></dir><dir name="Functions"><file name="FunctionDeclarationArgumentSpacingSniff.php" hash="f98bfec9f5fafffd91793fceeec2b505"/><file name="FunctionDeclarationSniff.php" hash="2699493818a2bd348d7023a911b362e2"/><file name="FunctionDuplicateArgumentSniff.php" hash="4f747c832ab02e5428810d9a7d6d0fda"/><file name="GlobalFunctionSniff.php" hash="439c85a51dcf872ac083a9fc56ac7afd"/><file name="LowercaseFunctionKeywordsSniff.php" hash="1e74b8ff95314e4010a9fe60be602e58"/><file name="MultiLineFunctionDeclarationSniff.php" hash="d3ed182d2c74276a48d710244fd603ab"/></dir><dir name="NamingConventions"><file name="ValidFunctionNameSniff.php" hash="e76a2cf51fa9a18f4cf26e5027b3800f"/><file name="ValidVariableNameSniff.php" hash="d2e69c572fdda26f230de2bf2b0616f5"/></dir><dir name="Objects"><file name="DisallowObjectStringIndexSniff.php" hash="5a68f621e7738fc930c215a520866633"/><file name="ObjectInstantiationSniff.php" hash="2f83e978fb36b18605904edd4adb278b"/><file name="ObjectMemberCommaSniff.php" hash="d541c7ad40d3ed9cdfc025eee9dda3d7"/></dir><dir name="Operators"><file name="ComparisonOperatorUsageSniff.php" hash="7dae3786eb0ae5a80a5e789b0cf82863"/><file name="IncrementDecrementUsageSniff.php" hash="9560f1f63b0adc1d1f3675682d258436"/><file name="ValidLogicalOperatorsSniff.php" hash="f0932dcc87f9df89e4981c67e05bfd9f"/></dir><dir name="PHP"><file name="CommentedOutCodeSniff.php" hash="a80915bd6f4f48a5007a8aeb8b9380bf"/><file name="DisallowBooleanStatementSniff.php" hash="69f964815628c1cf3e567b9ea3779c9f"/><file name="DisallowComparisonAssignmentSniff.php" hash="07d9f905306828ea1be24aeeafdaca51"/><file name="DisallowInlineIfSniff.php" hash="1c3d3028a31640ef9b61040085796b83"/><file name="DisallowMultipleAssignmentsSniff.php" hash="8fdf278938c08d598890cb059f286859"/><file name="DisallowObEndFlushSniff.php" hash="2c2a5fb3cd79ef749bea638cdd394980"/><file name="DisallowSizeFunctionsInLoopsSniff.php" hash="f54d81636e69ca406eec01d48b96e024"/><file name="DiscouragedFunctionsSniff.php" hash="877e8cd80c742dbcf8682463bef210b3"/><file name="EmbeddedPhpSniff.php" hash="ca9919aa7c1e4f20d12731ba9696d076"/><file name="EvalSniff.php" hash="bc63ca518b7974e8a5decb1adc760ea2"/><file name="ForbiddenFunctionsSniff.php" hash="d3acd3ad6cc54e060acd52b97c97fca4"/><file name="GlobalKeywordSniff.php" hash="d6a4ead0fbb37a335207e509e1553f19"/><file name="HeredocSniff.php" hash="8162604b2b2963a2933407b201ca2032"/><file name="InnerFunctionsSniff.php" hash="8d0657dbd02c24d054df5a656661cbc6"/><file name="LowercasePHPFunctionsSniff.php" hash="31743c20c57664d650ca68e121a3d171"/><file name="NonExecutableCodeSniff.php" hash="e4377aa3151f02b521a5febccb90cc5f"/></dir><dir name="Scope"><file name="MemberVarScopeSniff.php" hash="f0c4dc15af29c48d298d53cf76f21c1e"/><file name="MethodScopeSniff.php" hash="a0d80bffe76eb1bc7c3d47cdb34476c4"/><file name="StaticThisUsageSniff.php" hash="d55c153fa3c8b3369a3152c205ef59db"/></dir><dir name="Strings"><file name="ConcatenationSpacingSniff.php" hash="5978a60f353602c72df61ad2e22aa43e"/><file name="DoubleQuoteUsageSniff.php" hash="d1a327efa3152c10486cebc48bcb23c1"/><file name="EchoedStringsSniff.php" hash="87a14a86bacab4037c300c6e06300a43"/></dir><dir name="WhiteSpace"><file name="CastSpacingSniff.php" hash="95c5c90be5d3a3776aeaa22c435f7192"/><file name="ControlStructureSpacingSniff.php" hash="0e0428b526b96c46e9e1a77de1b7a7b0"/><file name="FunctionClosingBraceSpaceSniff.php" hash="a875a827bf61587ffbcbda2b9b4e3bf1"/><file name="FunctionOpeningBraceSpaceSniff.php" hash="740eaf8232192c4a38f0b95f60340571"/><file name="FunctionSpacingSniff.php" hash="72cbb188f0a74f089e40cc766e15c5ef"/><file name="LanguageConstructSpacingSniff.php" hash="c29607b947ca86bd36c6b88ca8994efa"/><file name="LogicalOperatorSpacingSniff.php" hash="240df2f88577efdc6d74cb0b3aaa3fa5"/><file name="MemberVarSpacingSniff.php" hash="7ac5a88ca85eb4d93d2e92e44936c889"/><file name="ObjectOperatorSpacingSniff.php" hash="dd765b83f5134bc05bcfa1619845118a"/><file name="OperatorSpacingSniff.php" hash="9b34ac965c8c1636c85292cd971366fb"/><file name="PropertyLabelSpacingSniff.php" hash="a012ad05ced2aa0d071ebe1ded55dbae"/><file name="ScopeClosingBraceSniff.php" hash="0a98b1508379dea5461f39e87c12f174"/><file name="ScopeKeywordSpacingSniff.php" hash="9ca7cc3f06d388f19381459d3a1689ee"/><file name="SemicolonSpacingSniff.php" hash="bacb9849f96651f4ae076b813f95aef0"/><file name="SuperfluousWhitespaceSniff.php" hash="21a84374f0a9e947dee04ea980a82bbf"/></dir></dir><file name="ruleset.xml" hash="e67d8d5f409652d711d91e0c68fc230d"/></dir><dir name="Zend"><dir name="Docs"><dir name="Debug"><file name="CodeAnalyzerStandard.xml" hash="df3def6cd28696007438c6bfe673940d"/></dir><dir name="Files"><file name="ClosingTagStandard.xml" hash="5a51bc9e0b47020e47390d251e58231e"/></dir><dir name="NamingConventions"><file name="ValidVariableNameStandard.xml" hash="7498e0cfcbfce753833a75e7749d5de8"/></dir></dir><dir name="Sniffs"><dir name="Debug"><file name="CodeAnalyzerSniff.php" hash="4beaa6a32e64bf1224b5678b264af81c"/></dir><dir name="Files"><file name="ClosingTagSniff.php" hash="90178ad9bb21684143eaba51f1cd1836"/></dir><dir name="NamingConventions"><file name="ValidVariableNameSniff.php" hash="ed723bff912fbafea8601e076ea92952"/></dir></dir><file name="ruleset.xml" hash="49b31a29a6e385f18a8ffe12362ae05b"/></dir></dir><dir name="Tokenizers"><file name="CSS.php" hash="b296c19ef063196ab6b3031d54cbac5c"/><file name="Comment.php" hash="a4a4a034a1aea03744c3536ab718f026"/><file name="JS.php" hash="ce37890f5d74c09609950db75c8cfc6c"/><file name="PHP.php" hash="796391cf43ea423a1340e49366aad8c4"/></dir><file name="Tokens.php" hash="ae00f3e14077092a4efa39f89c66c05b"/></dir><file name="CodeSniffer.conf.dist" hash="73ec809ff8b56cfb0d5c4fcc91ef5584"/><file name="CodeSniffer.php" hash="9231123fcd0df68425111437b4080cfc"/><file name="README.md" hash="788f1e0843aa377a79e21dadce8485df"/><file name="composer.json" hash="050f971076701f366d7cbc7413a49217"/><file name="licence.txt" hash="562f463f305c4d32b4fad9a4b03ad678"/><file name="php5-testingConfig.ini" hash="afd18c07aa3f6e5121e9fa9f0131c88b"/><file name="php7-testingConfig.ini" hash="5a0c0f0e16c46274957c2d77e651ff76"/><file name="phpcs.xml.dist" hash="4d87e23cd58c0696ed266ed5b2fd4416"/><file name="phpunit.xml.dist" hash="743552b59648471ed54139fcf1e7e6dd"/><dir name="scripts"><file name="build-phar.php" hash="d4166c862621ad6b1dd64b7515434d6e"/><file name="phpcbf" hash="266a1b90c2fdbb903a292d443ead6b5a"/><file name="phpcbf.bat" hash="24c290a13dec57a72fa3eac17f4915e8"/><file name="phpcs" hash="8d4abac4c3d748a5d6cc44bb214a19a0"/><file name="phpcs-svn-pre-commit" hash="178af6aacd99ed18e996635bcfb3df17"/><file name="phpcs.bat" hash="7427ae85238962922f8cc0d610e074ea"/></dir><file name=".gitattributes" hash="a36dfac766402b886bab9fcd40ccc379"/><file name=".gitignore" hash="51cce6da93c4bc6dfa41701959089bd5"/></dir></dir><dir name="symfony"><dir name="polyfill-mbstring"><file name="LICENSE" hash="7554338cf4bdd7b6fea8cc8f7119e5c9"/><file name="Mbstring.php" hash="eb0338468c6ff2709d533b88966ad5d5"/><file name="README.md" hash="49820f639e0ceac277a00012ac32822e"/><dir name="Resources"><dir name="unidata"><file name="lowerCase.php" hash="d9906d2ce0acf432769f3e39d076d9f8"/><file name="upperCase.php" hash="593eadd4f6e3791482bfd3a24304ad67"/></dir></dir><file name="bootstrap.php" hash="2e7f80f70de25c72b39fd1b264f5d347"/><file name="composer.json" hash="22e9cbd2ae2995885d5ad8c1fbf1c0c7"/></dir><dir name="translation"><file name="CHANGELOG.md" hash="7deac36b36a51be70115c48fe7b578da"/><dir name="Catalogue"><file name="AbstractOperation.php" hash="40b5d68c2a4e015fb9359d38dc3d2704"/><file name="DiffOperation.php" hash="037b36ae08d8fce4db47130e2806472d"/><file name="MergeOperation.php" hash="9e841b4c2400b9ac25975ed7ed7238f4"/><file name="OperationInterface.php" hash="7e69e361e2d094ec4d8c1db32849b5a7"/><file name="TargetOperation.php" hash="40973792e4b19a5bd9a422b5f85c33b6"/></dir><dir name="DataCollector"><file name="TranslationDataCollector.php" hash="63d0c14d2c017403bec87867e75b47e6"/></dir><file name="DataCollectorTranslator.php" hash="b1bc42f4f5eb7cea77183bcb7631d4d8"/><dir name="Dumper"><file name="CsvFileDumper.php" hash="74b2473e18478d32b6336499fee351ec"/><file name="DumperInterface.php" hash="97df468b756ed060c2d9002ffb331f4c"/><file name="FileDumper.php" hash="d2a5bb032957d2e496ce33b509390ea1"/><file name="IcuResFileDumper.php" hash="dffb38738f36552626bc9454ccd8649c"/><file name="IniFileDumper.php" hash="e48e3d5d664e60f8e365f02a31fec817"/><file name="JsonFileDumper.php" hash="be3087a6457419b4f2eef0cef6619d30"/><file name="MoFileDumper.php" hash="9872d8f3d8bb42cfc5292263ecaefd5a"/><file name="PhpFileDumper.php" hash="6d05a65277ded2f2ca7e7003bc96f1b2"/><file name="PoFileDumper.php" hash="3af617361c5dc16c6759a63b6a5d0b81"/><file name="QtFileDumper.php" hash="49aae57bb4da90843bb190a66af73e4a"/><file name="XliffFileDumper.php" hash="6a516e66975b442f1184d97f4e816b0b"/><file name="YamlFileDumper.php" hash="e74502616eccc33615e41c2205b6ee27"/></dir><dir name="Exception"><file name="ExceptionInterface.php" hash="6d19725e88fa202953264f14f9e1bcf8"/><file name="InvalidResourceException.php" hash="178abc46cb8060f081ef43fd5ff00da5"/><file name="NotFoundResourceException.php" hash="8c7bff66a9500b10fb4d13e1d07e76c0"/></dir><dir name="Extractor"><file name="AbstractFileExtractor.php" hash="922e196d2992816ff03cde4dda49e6e3"/><file name="ChainExtractor.php" hash="ae7e39e6605d8692a31a5f53bd4c8b09"/><file name="ExtractorInterface.php" hash="69260ab08411a3134634ad50b3069546"/></dir><file name="IdentityTranslator.php" hash="327f25230b4d9675ae84d709deaff0d9"/><file name="Interval.php" hash="d700e492948170fb1a905e3e838057cf"/><file name="LICENSE" hash="b4e1c29292cf1d95350bbe72f30d6825"/><dir name="Loader"><file name="ArrayLoader.php" hash="6b9ff855b3939c82c55239b2eaf491ff"/><file name="CsvFileLoader.php" hash="b83e7405ad4f14a87461e6be6d742eb9"/><file name="FileLoader.php" hash="1f2d78c48b8418a06fa1792828984fa3"/><file name="IcuDatFileLoader.php" hash="8d8ad9c1795ba626f4c959e871c2fca7"/><file name="IcuResFileLoader.php" hash="0630737b4602cae8bede1691c8334391"/><file name="IniFileLoader.php" hash="fbded93c3e6686831fa3a59517959500"/><file name="JsonFileLoader.php" hash="21f4dcd6f9d24d76122883e19a987c8b"/><file name="LoaderInterface.php" hash="b27348d511867c046ab123acd216fea3"/><file name="MoFileLoader.php" hash="b3c7b3007a43e39f492520b96b1ab781"/><file name="PhpFileLoader.php" hash="95819dd66e35b888e3c17140d68d750e"/><file name="PoFileLoader.php" hash="2e2fa1e5e05eac4335a8ef39803e1573"/><file name="QtFileLoader.php" hash="3eaf39c6fe0aa704454e29ce0b861da7"/><file name="XliffFileLoader.php" hash="dfa4bc967aef522d02a1bbe06abde3ad"/><file name="YamlFileLoader.php" hash="aae7709e68b89075c838f450cca0b8be"/><dir name="schema"><dir name="dic"><dir name="xliff-core"><file name="xliff-core-1.2-strict.xsd" hash="fd528a896f7c6792b370930f64e58a2a"/><file name="xliff-core-2.0.xsd" hash="afaefe3417450787b59d5a1d4ad1b387"/><file name="xml.xsd" hash="ff48d862939acfe7dc34e2f8df8b14f8"/></dir></dir></dir></dir><file name="LoggingTranslator.php" hash="c252679ce162cf50ce6a45340d1b33be"/><file name="MessageCatalogue.php" hash="af688850f1c4208949f5cc6fe0f1e58a"/><file name="MessageCatalogueInterface.php" hash="8c6ef20c00156405878e3092ae706cdc"/><file name="MessageSelector.php" hash="aa79bd589a5cd3d1c31d9b4bec1fd667"/><file name="MetadataAwareInterface.php" hash="ba4a99528afbf00d106cf58a2c93aced"/><file name="PluralizationRules.php" hash="82e7b5d96432bf86160f8a2ada513c6e"/><file name="README.md" hash="de9e44de9d0ae0fe9c68c7d708281b04"/><dir name="Tests"><dir name="Catalogue"><file name="AbstractOperationTest.php" hash="ef82bc07c69b7711d658500ab7dd1726"/><file name="DiffOperationTest.php" hash="b3dd81aa6b7cbe4e57dde7f903c6dc07"/><file name="MergeOperationTest.php" hash="8e43b4242bce9e6ba7a573eba1a76abf"/><file name="TargetOperationTest.php" hash="ab07da6d70f88d6f82de1931915c7ab3"/></dir><dir name="DataCollector"><file name="TranslationDataCollectorTest.php" hash="08a5018afa4ffd305e15aec52ff1a6d1"/></dir><file name="DataCollectorTranslatorTest.php" hash="6d665046ae873a6cc3ca4f01fd24eb91"/><dir name="Dumper"><file name="CsvFileDumperTest.php" hash="ea20fd0543c88141ef9c349445de489d"/><file name="FileDumperTest.php" hash="3be89ef30f2157c37abe9b943e8179d6"/><file name="IcuResFileDumperTest.php" hash="0eacde48a9de030ec028129c5589e4c4"/><file name="IniFileDumperTest.php" hash="e60c4f96588e4b518742dee1f2e9cd89"/><file name="JsonFileDumperTest.php" hash="2816e37675af5a9a4409ca70ab1c19e9"/><file name="MoFileDumperTest.php" hash="f193c62c28026f67b1364a44e2619d50"/><file name="PhpFileDumperTest.php" hash="bd9bc8191aa254ffb2269c38766f4509"/><file name="PoFileDumperTest.php" hash="4c5404ceeca2b56194cb64e72b093ba7"/><file name="QtFileDumperTest.php" hash="01d855c498ff135ff55d208bcf0493bb"/><file name="XliffFileDumperTest.php" hash="caefc75bcdc1859753276e3da8eca262"/><file name="YamlFileDumperTest.php" hash="d5d512000cafb714cd4a3137b38ed247"/></dir><file name="IdentityTranslatorTest.php" hash="c2707263d00277c173b1596d4386fa7a"/><file name="IntervalTest.php" hash="4c7466038f4c30f7e11bdf01f9de3917"/><dir name="Loader"><file name="CsvFileLoaderTest.php" hash="c56f359209f462724e5c38d54d04aef7"/><file name="IcuDatFileLoaderTest.php" hash="dac51f952448c8f3a961ffd5a7bed7d6"/><file name="IcuResFileLoaderTest.php" hash="4b051d7c1d01e510252d65e07db4be3a"/><file name="IniFileLoaderTest.php" hash="eeb81233e12eacec0fd177f1945d73e3"/><file name="JsonFileLoaderTest.php" hash="3fef347c7f58953bbe1d50b31e1940c6"/><file name="LocalizedTestCase.php" hash="1f49c56aa48f17a7a3a3549bedd91efc"/><file name="MoFileLoaderTest.php" hash="f186ff0d898d6f96c82d2633c204bb5d"/><file name="PhpFileLoaderTest.php" hash="8a494f3c229871a27bb9fab851bb385b"/><file name="PoFileLoaderTest.php" hash="daeec8fa7bdaf9a0cf551ffc6c233941"/><file name="QtFileLoaderTest.php" hash="2722873e9cf782a84462ce616be95f22"/><file name="XliffFileLoaderTest.php" hash="56909dba0cc96627b640c25bb5e78d04"/><file name="YamlFileLoaderTest.php" hash="b14fcada262a8c6207dd0cc66ec1242b"/></dir><file name="LoggingTranslatorTest.php" hash="b237c59e8613ba3d8da6bfb3da5f2393"/><file name="MessageCatalogueTest.php" hash="6a96db6b6b8b8a808f639b19820ed295"/><file name="MessageSelectorTest.php" hash="fbc9a4add2c0e246fb9bc71456f5d243"/><file name="PluralizationRulesTest.php" hash="7aef38f1467f2a5593ab0a32be2fec14"/><file name="TranslatorCacheTest.php" hash="37d2e542aa075e2fc96642181982e2a3"/><file name="TranslatorTest.php" hash="027cf2101f0b4d416e48a8053e48ac15"/><dir name="Util"><file name="ArrayConverterTest.php" hash="0f628c9dd70328b2fe7015812773905c"/></dir><dir name="Writer"><file name="TranslationWriterTest.php" hash="093dcbc3b7c835100cc5b93e45c9209c"/></dir><dir name="fixtures"><file name="empty-translation.mo" hash="4fa3c7b10ae5d6c1b42616ab94776591"/><file name="empty-translation.po" hash="b1a95afebdd5bf7aea9b2e18853e026d"/><file name="empty.csv" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.ini" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.json" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.mo" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.po" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.xlf" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.yml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="encoding.xlf" hash="65a300d4b0ba0aaeceda8dec0f43631c"/><file name="escaped-id-plurals.po" hash="a6dcdf5a62d961fe330b61698929efa6"/><file name="escaped-id.po" hash="52ee5b52cecd5abc907a4e492e24039b"/><file name="fuzzy-translations.po" hash="879a3efbd681cb64f35474db1c6a3bbf"/><file name="invalid-xml-resources.xlf" hash="9bbb4b898a5bf5df996cd16e81cf28b8"/><file name="malformed.json" hash="69026dcf9b20ba875d6024fa2d8dcd37"/><file name="messages.yml" hash="9cb8cb8a83c46a998452ca08be87763d"/><file name="messages_linear.yml" hash="746e1101a4da5a4f372ccbbeed4e01d1"/><file name="non-valid.xlf" hash="35641dad0a0e32afc365268d7cb35f5c"/><file name="non-valid.yml" hash="d3b07384d113edec49eaa6238ad5ff00"/><file name="plurals.mo" hash="edbf7f268cd369b124286c4eaccc5da6"/><file name="plurals.po" hash="cc4d3e4012a94aa6d416ffba63cec96a"/><file name="resname.xlf" hash="cadcf346671c0adabf12cc639338617c"/><dir name="resourcebundle"><dir name="corrupted"><file name="resources.dat" hash="bc9189406be84ec297464a514221406d"/></dir><dir name="dat"><file name="en.res" hash="d3d7cb5315b72e8a10083800232f975c"/><file name="en.txt" hash="2733cca721edae093bab7183a66fca5c"/><file name="fr.res" hash="bd4fd753b32b205184d61fe901f3cc99"/><file name="fr.txt" hash="18b4f30e392a3ea5e2871c3c0406cd83"/><file name="packagelist.txt" hash="a784644791b85cf23524cb50532459a9"/><file name="resources.dat" hash="5db6756e72842744a2f79e7976a27b27"/></dir><dir name="res"><file name="en.res" hash="936c6496f075090509a4124930e62c25"/></dir></dir><file name="resources-2.0-clean.xlf" hash="2b99f691cce158d0297d1e8ade709192"/><file name="resources-2.0.xlf" hash="f1aa8816ea96fd1f18eca0d8e858e3d2"/><file name="resources-clean.xlf" hash="05606b9e5b3771ccf9fc460d73ae26aa"/><file name="resources-target-attributes.xlf" hash="710cb6e3206f6ffdbd32f62c1f63c567"/><file name="resources-tool-info.xlf" hash="7aa9df22e042260ba4b6b04824a0ef1b"/><file name="resources.csv" hash="349115d44a4b2b57ec0e12d5de001c1f"/><file name="resources.dump.json" hash="387d704689993dcf25cb1791a5af17db"/><file name="resources.ini" hash="a1c5d4a3d4363448836f7df17bd3dac9"/><file name="resources.json" hash="c4739e97d2e782ab9142b7cad4e36383"/><file name="resources.mo" hash="338bee6e134993372c561235d85caf5b"/><file name="resources.php" hash="e5269ae0ff8b573e8e88b98a013a97de"/><file name="resources.po" hash="ebffc260ffc01b8dd02a6a548b13f7a4"/><file name="resources.ts" hash="01ebead5e039c0d1301339fef7b7fd18"/><file name="resources.xlf" hash="3046798068871c144081a6dad3f88e3d"/><file name="resources.yml" hash="721aad13918f292d25bc9dc7d61b0e9c"/><file name="valid.csv" hash="f22180b9a31a19606112508410f0806f"/><file name="with-attributes.xlf" hash="99a065bde70a5c4a40ce6c77e4a949b3"/><file name="withdoctype.xlf" hash="3a566717bf4a4cdca4fa6d9f26b9887d"/><file name="withnote.xlf" hash="68bb66b39cad24277a1a96b5b3a84f81"/></dir></dir><file name="Translator.php" hash="1627aee1186233cbbf8dfa6158962986"/><file name="TranslatorBagInterface.php" hash="f228cb535cff48696f2facd234a1889a"/><file name="TranslatorInterface.php" hash="0fe3e283baf302de2244008ee027eed3"/><dir name="Util"><file name="ArrayConverter.php" hash="48335aaae87f7cf57bf903428fc866ba"/></dir><dir name="Writer"><file name="TranslationWriter.php" hash="4e690ca887376b424ee087d77c3d2f2f"/></dir><file name="composer.json" hash="f3ace5194bda0dd933bcbcac6b6e1f95"/><file name="phpunit.xml.dist" hash="f92b8284e27e925181f6df270d0cda4f"/><file name=".gitignore" hash="a1155c508134e9bda943ae266aee1819"/></dir><dir name="yaml"><file name="CHANGELOG.md" hash="15302a4dfa6d7acceda4b84ee24e9e3e"/><file name="Dumper.php" hash="07f5ceb5785b3ed5fd0293d26b12e900"/><file name="Escaper.php" hash="9c0df286acdbff7b0d7965e684c7e4c6"/><dir name="Exception"><file name="DumpException.php" hash="dc67a59a9101373a0a0aab4d1a37406b"/><file name="ExceptionInterface.php" hash="55d4a87d030efc9426685250882fdf25"/><file name="ParseException.php" hash="1916c19381923a6edcb99bbd510c17b6"/><file name="RuntimeException.php" hash="14010c4f6f5c12606dd5e00ef5855fdc"/></dir><file name="Inline.php" hash="df0ef963ee79415ce3f362f49cff71dc"/><file name="LICENSE" hash="b4e1c29292cf1d95350bbe72f30d6825"/><file name="Parser.php" hash="6bb719558e8620f8cc61b5f9decd0dad"/><file name="README.md" hash="8e75731f3c67d8019b06b5662cfcd1bf"/><dir name="Tests"><file name="DumperTest.php" hash="4da2c209b71e45054f3e938b75b0e663"/><dir name="Fixtures"><file name="YtsAnchorAlias.yml" hash="073781a1d2c37127a4296e9af7616624"/><file name="YtsBasicTests.yml" hash="d2ac58481f14d39084c02832571ca937"/><file name="YtsBlockMapping.yml" hash="4c1744b763fce82db7d4e20c469b20cd"/><file name="YtsDocumentSeparator.yml" hash="7bf3dfb1f027f72bd399f8fd3064eb8e"/><file name="YtsErrorTests.yml" hash="1a6d2fa2a7f53d4657b35baf4ecf67c6"/><file name="YtsFlowCollections.yml" hash="326c09dd8c5de226c680154c39206647"/><file name="YtsFoldedScalars.yml" hash="bf21b6ca89e2aea63b62f60448b841b4"/><file name="YtsNullsAndEmpties.yml" hash="fda05f67ca13f8d50cb904b191039c04"/><file name="YtsSpecificationExamples.yml" hash="8f339996aa888c4cf44daa5d8f8954b4"/><file name="YtsTypeTransfers.yml" hash="94ca9ba8eaec2572eb52b8546da3d07e"/><file name="embededPhp.yml" hash="52dbe7660c58107077d0e7069fe43498"/><file name="escapedCharacters.yml" hash="1b1c84936520b957fff90f3d2cb53f59"/><file name="index.yml" hash="809db138c609075657d8d2e81fabaa5c"/><file name="sfComments.yml" hash="95949da86fadd7120426e391ab6d1b9a"/><file name="sfCompact.yml" hash="835842c734605efa1665b90ccb266b97"/><file name="sfMergeKey.yml" hash="c36291acfb95652bdac59b19f09f4a5d"/><file name="sfObjects.yml" hash="886595fda5f2aa969a232045dbd4941c"/><file name="sfQuotes.yml" hash="49f68edbfc666cc4aaaafce9751a70c2"/><file name="sfTests.yml" hash="3ddc049f3e1ba28a057a4f36703f227f"/><file name="unindentedCollections.yml" hash="cb3d5592f820280da7f1fb6ae74f01f6"/></dir><file name="InlineTest.php" hash="717530b003d55c3ab81886dd1e161007"/><file name="ParseExceptionTest.php" hash="9cd93360139998e8e0b6254e8d73d61a"/><file name="ParserTest.php" hash="46ec2f5b6831c2863402f40cc4f01502"/><file name="YamlTest.php" hash="045b8b7c3ec474ea235652c4909ce2d8"/></dir><file name="Unescaper.php" hash="b5ee19b71d86d4911a5dfbae03bbe283"/><file name="Yaml.php" hash="9c4766606e9ab41bcacab1bc4340ce48"/><file name="composer.json" hash="88b159dab46aef94342c21c9901d9df2"/><file name="phpunit.xml.dist" hash="21b267525440a2988848538342afefac"/><file name=".gitignore" hash="a1155c508134e9bda943ae266aee1819"/></dir></dir><dir name="webmozart"><dir name="assert"><file name="CHANGELOG.md" hash="7207738d13c0d4b237f9cb458dc3d236"/><file name="LICENSE" hash="03bd1369b937396e65a932a1e1260cb4"/><file name="README.md" hash="5e10284cc1d6986bac632af34ecac794"/><file name="appveyor.yml" hash="6fb94ad1aef1ad1b8506d323590d9c7f"/><file name="composer.json" hash="d6358b529a38087d42f405da5e9cd245"/><file name="phpunit.xml.dist" hash="febcd558f882d1e99f3d03d8b266d73f"/><dir name="src"><file name="Assert.php" hash="1dfd4c1c5573ba303d5fc7118d7a915b"/></dir><dir name="tests"><file name="AssertTest.php" hash="60e3ffc79f135847181919e4b4692176"/></dir><file name=".composer-auth.json" hash="decd29831e3babed52fa502241d38b8a"/><file name=".gitignore" hash="1940d66493702c670473d8838c8db01a"/><file name=".styleci.yml" hash="f0d794140a21de9fd8c0c0169f784bb8"/><file name=".travis.yml" hash="d8ca3023ac746710973f4888e3604dba"/></dir></dir></dir></dir></dir></dir></target></contents>
47
  <compatible/>
48
- <dependencies><required><php><min>5.2.13</min><max>6.2.0</max></php></required></dependencies>
49
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>ING_PSP</name>
4
+ <version>1.1.7</version>
5
  <stability>stable</stability>
6
  <license uri="https://opensource.org/licenses/MIT">The MIT License (MIT)</license>
7
  <channel>community</channel>
33
  ## Changes in version 1.1.1&#xD;
34
  + Renamed bcmc to bancontact&#xD;
35
  &#xD;
36
+ ## Changes in version 1.1.5&#xD;
37
  + Small fixes&#xD;
38
  + Version synchronization&#xD;
39
+ &#xD;
40
  ## Changes in version 1.1.4&#xD;
41
  + Fixed missing library folder&#xD;
42
+ &#xD;
43
+ ## Changes in version 1.1.5&#xD;
44
+ + Added ING-PSP PayPal payment method&#xD;
45
+ + Added ING-PSP HomePay payment method&#xD;
46
+ + Added ING-PSP SOFORT payment method&#xD;
47
+ + Added ING-PSP Klarna payment method&#xD;
48
+ + Updated ing-php library to 1.2.6&#xD;
49
+ &#xD;
50
+ ## Changes in version 1.1.6&#xD;
51
+ + Updated ing-php library to 1.2.8&#xD;
52
+ + Added French translations&#xD;
53
+ + Added German translations&#xD;
54
+ &#xD;
55
+ ## Changes in version 1.1.7&#xD;
56
+ + Performance improvements&#xD;
57
+ + Some bug fixes&#xD;
58
+ + Added Dutch translations&#xD;
59
  </notes>
60
  <authors><author><name>ING</name><user>ING</user><email>info@ing.nl</email></author></authors>
61
+ <date>2017-05-31</date>
62
+ <time>09:13:04</time>
63
+ <contents><target name="magecommunity"><dir name="ING"><dir name="PSP"><dir name="Block"><dir name="Payment"><dir name="Banktransfer"><file name="Form.php" hash="60853005a2237cf2ca076441e793195b"/><file name="Info.php" hash="0a7fd10f04533c52e15da8f05ee8983f"/></dir><dir name="Cashondelivery"><file name="Form.php" hash="1561108f7cd491b4947901309143eaf4"/><file name="Info.php" hash="0ee86c2a98e6e76145bc3811083da8f9"/></dir><dir name="Ideal"><file name="Form.php" hash="e44270688d7517c000ed33e9b636e2b8"/><file name="Info.php" hash="ea8ed48470d1bf9e47b47d46806b4ad2"/></dir></dir></dir><dir name="Helper"><file name="Bancontact.php" hash="72766a5af3966fe20f58bb52008eaf86"/><file name="Banktransfer.php" hash="5bd0ba32b99ef81018cc07202074b347"/><file name="Cashondelivery.php" hash="0008a36d1864e265a328ba6fd68830ad"/><file name="Creditcard.php" hash="9b4d6f3927217b6e5be913ab48f0fee9"/><file name="Data.php" hash="c5ff60d50d4517b3671e67ffb962ed22"/><file name="HomePay.php" hash="7b2241b102c6fcd4fa0d307f77879f86"/><file name="Homepay.php" hash="3a94241764eeefd2fc6e5799d29faafe"/><file name="Ideal.php" hash="e5a30ffd6d2f848bc00d783ddccdb057"/><file name="Klarna.php" hash="da6da2b160b5e2d407137f77d987696d"/><file name="Paypal.php" hash="9534042416a162fe18949dc8f03fe6bd"/><file name="Sofort.php" hash="7050626132d026993bd9eeb87f0d987f"/></dir><dir name="Model"><file name="Bancontact.php" hash="08f720ca30aa70810b98b94d80ae25f3"/><file name="Banktransfer.php" hash="8dd432079f9f7b667fdafdc71db162c8"/><file name="Cashondelivery.php" hash="0fb4d21e2411ae3710147ab8b3e0ec71"/><file name="Creditcard.php" hash="953fc6dc2d9817eb1455f44d8b59be84"/><file name="HomePay.php" hash="8546eb46e71f3478df0a70cd1afd922d"/><file name="Homepay.php" hash="47ddf4b98a9563b38cb17d8bd5a5fe71"/><file name="Ideal.php" hash="092f7b25e2bf11d34bac3da500c1c06a"/><file name="Klarna.php" hash="dc11c154866120ba426e843cef67222f"/><file name="Observer.php" hash="63b740c69b724b2aefd2b61368de933a"/><file name="Paypal.php" hash="34a38fd57e5f85c4ff8672a3509e03f3"/><file name="Sofort.php" hash="fe92aaaa9e0974dec9f9726e92cd185e"/><dir name="System"><dir name="Config"><dir name="Source"><dir name="Dropdown"><file name="Values.php" hash="f156d15f14e426d3b8aa71ded7d25e92"/></dir></dir></dir></dir></dir><dir name="controllers"><file name="BancontactController.php" hash="4f489b5aeb7533f97b1175589becb2e0"/><file name="BanktransferController.php" hash="4945bc8bd2a950fbbb677278f237004f"/><file name="CashondeliveryController.php" hash="43f6731bfe767fcfd8f36cf754c30e1d"/><file name="CreditcardController.php" hash="2fa108db9d2bf59071268e6e11d227a7"/><file name="HomePayController.php" hash="0d750b45cfea738cc6d6e76301fdd097"/><file name="HomepayController.php" hash="479cafc2b7f9255ed295efe92a2cb42f"/><file name="IdealController.php" hash="a97125adcefa7f0967d24476af9beada"/><file name="KlarnaController.php" hash="61e0f37ca8fafcfb7e22819a97786d33"/><file name="PaypalController.php" hash="b84a02096fe5ba06f91e2aaa00713078"/><file name="SofortController.php" hash="b464aca27da0a1e69ad06859bd857589"/></dir><dir name="etc"><file name="adminhtml.xml" hash="d263ea59367ab1665d4dd5eeb6c7e599"/><file name="config.xml" hash="b8fe9836582c72714a289cdf104c90f2"/><file name="system.xml" hash="dff1f55f0df816725f8f279d59cd3af9"/><file name="system.xml_bak" hash="c1f3f43ae97e552ebe2a01df4dd40284"/></dir><dir name="sql"><dir name="ingpsp_setup"><file name="mysql4-install-0.0.1.php" hash="ca46f386a04bbaa87ad7a12755d9d31e"/><file name="mysql4-uninstall-0.0.1.php" hash="29766ef2265761b75e0f474325540a4b"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="76162b24e9466f972e42d44b05b5ecb7"/><file name="mysql4-upgrade-0.0.2-0.0.3.php" hash="839ea4735c702c8aa7164b4281dcd4d1"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="ing_psp"><dir name="info"><file name="banktransfer.phtml" hash="ecb5d88a09b8021326db3ed64f931bdb"/><file name="cashondelivery.phtml" hash="ecb5d88a09b8021326db3ed64f931bdb"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="ing_psp"><dir name="form"><file name="banktransfer.phtml" hash="6bac5f94f97b724503098e3e6bc2890c"/><file name="cashondelivery.phtml" hash="6bac5f94f97b724503098e3e6bc2890c"/><file name="ideal.phtml" hash="b7655ba773765b13b45b75e03fb29dc3"/></dir><dir name="info"><file name="banktransfer.phtml" hash="ecb5d88a09b8021326db3ed64f931bdb"/><file name="cashondelivery.phtml" hash="ecb5d88a09b8021326db3ed64f931bdb"/></dir><file name="success.phtml" hash="105f6f6ca1a2ff021e346331f7387930"/></dir></dir><dir name="layout"><file name="ing_psp.xml" hash="84280332abc5884375da2223ad919c8e"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="ING_PSP.xml" hash="c083cec14a46c93c41a7a9235ad7aa5a"/></dir></target><target name="magelocale"><dir name="en_US"><file name="ING_PSP.csv" hash="54bb4994fbecf10ac2638aa4c05ba7b3"/></dir><dir name="nl_NL"><file name="ING_PSP.csv" hash="0c40afb29c628787200430bffcf0147c"/></dir></target><target name="magelib"><dir name="Ing"><dir name="Services"><dir name="ing-php"><file name="LICENSE" hash="fedae87cfce43c660ef2e8b3ab99f78a"/><file name="README.md" hash="4180a4ccc31e79059db2a9d2d7822f83"/><dir name="assets"><file name="cacert.pem" hash="f20034604452a7bdd331146cc4752bc0"/></dir><file name="composer.json" hash="2e429868181752fa58997a82af812de7"/><file name="composer.lock" hash="01c6a0c4ed12b80c92b13b33465c8008"/><file name="phpunit.xml.dist" hash="f32411c3bad5ec320cab38037f7ec588"/><dir name="src"><dir name="Client"><file name="ClientException.php" hash="3d4662f6af65db7579d728c01a81db46"/><file name="OrderNotFoundException.php" hash="86b4245ea0fa359a51d718f3f89a590a"/></dir><file name="Client.php" hash="ab4e07f11b36ff901c8d7474b8c64a77"/><dir name="Common"><file name="ArrayFunctions.php" hash="6e9367c12a036f4fcb2ea49b000043a5"/><file name="ChoiceBasedValueObject.php" hash="767725a562780b071acfd4f75e609a6e"/><file name="ISO3166.php" hash="667a023a61b9557cfb7384c01257149e"/><file name="IntegerBasedValueObject.php" hash="c4b2ce4b7252d8e3f066d81c047cb275"/><file name="StringBasedValueObject.php" hash="70e6251436d8772d1a3f9ef5e6134590"/></dir><file name="Currency.php" hash="c88894681d49f2970addf33e1f591a36"/><file name="Fallback.php" hash="40486dddc02486c091c3e7c35f25b2b4"/><file name="Ginger.php" hash="16923178e8eaf482c0b58cb033188ee1"/><file name="Iban.php" hash="26b168b04a59a51fa3af0b1694905f8d"/><dir name="Ideal"><dir name="Issuer"><file name="ListType.php" hash="e8d5d9357616ab10d4e6f34172bd3d51"/><file name="Name.php" hash="2a9c9bb0ca94b14e1b96f5c849402ca0"/></dir><file name="Issuer.php" hash="7c00df3430ad4f3a748e7ff1d4d56f56"/><file name="Issuers.php" hash="0d1c323db29e00cee2cbebd043b5f645"/></dir><dir name="Order"><file name="Amount.php" hash="6494508e319326d09aa48fa250019b70"/><dir name="Customer"><file name="Address.php" hash="eaf9fffe840546d37472be85c8c97a39"/><file name="AddressType.php" hash="51fa435b0bf2a663ac66b29be566ee51"/><file name="Birthdate.php" hash="6cc8b974291732351b906f165673a6f4"/><file name="Country.php" hash="98ad47482f5c33faebc1f2bcc910a3db"/><file name="EmailAddress.php" hash="d75a77ee3f1600caaf1f1ae2e5911be6"/><file name="FirstName.php" hash="964a31ece3a5294fd5373749ef3a355e"/><file name="Gender.php" hash="9981e01a2f93946e7f4c5a0534477fb8"/><file name="Housenumber.php" hash="bbea384c40ef0c1ef40d8273750bb970"/><file name="IP.php" hash="397bde6ae98b7fbb66631e63a3eac108"/><file name="LastName.php" hash="0b4873b87182e99bc8c7a4571b287b71"/><file name="Locale.php" hash="01db16e530ce8b7f421986b15adfa5dd"/><file name="MerchantCustomerId.php" hash="37246932cc4b1a05fed12cf5b48d8a40"/><file name="PhoneNumber.php" hash="1a1bde4c37ac20ea03b27229ea533574"/><file name="PhoneNumbers.php" hash="277255b5ade0631e34466fe079a9f7ce"/><file name="PostalCode.php" hash="8cc9991af8d3deda158816c09219bf16"/></dir><file name="Customer.php" hash="8b2fb2c655c6031b26de56be1ac1dd07"/><file name="Description.php" hash="b580d6dc613910c364432abd853d3ed8"/><file name="Extra.php" hash="30c177b667c4741e8ec691a206f4b822"/><file name="MerchantOrderId.php" hash="8197d9b9c9f54d039e7fab7e90d0af60"/><dir name="OrderLine"><file name="Amount.php" hash="68075424f26ad20c33064feea9d7f340"/><file name="Currency.php" hash="baae25acaa09215f72ac32fa4b44d2fd"/><file name="DiscountRate.php" hash="a41c87f18b89b9c1628b30d66d5c650d"/><file name="Ean.php" hash="a7f6c2ed238adfc43b46b0f8aa9d5404"/><file name="ImageUrl.php" hash="562e794ada5838ca8e33e8af898377e1"/><file name="MerchantOrderLineId.php" hash="0416deacaa774cf6c6266e755575e748"/><file name="Name.php" hash="e46885f44bc3fa3b240cb5d96611d439"/><file name="Quantity.php" hash="a02babf4b788c3de7bb800ee33c58770"/><file name="Type.php" hash="31abf25a5661e337908ba3f6ec3070c0"/><file name="Url.php" hash="f0fd03ca349d72fc8c8b726abbe2080a"/><file name="VatPercentage.php" hash="f24fa2f566e365a97457c6a0a98be742"/></dir><file name="OrderLine.php" hash="17a84d1b1e164855948a29c07cb5ddb6"/><file name="OrderLines.php" hash="c2ef41caaf4cb7a1149b6fbe9704c186"/><file name="Status.php" hash="b7f24bd6bc854406c38565bee93fbabf"/><dir name="Transaction"><file name="Amount.php" hash="12386accdc019814d1d9862df5e9fd4a"/><file name="Balance.php" hash="cb7195414675ceb36fd5e2d187e04d35"/><file name="Description.php" hash="1614b631853f9ed028d391c8c3390b27"/><file name="PaymentMethod.php" hash="1fe357c8bdf2b699b77d526b6c093526"/><dir name="PaymentMethodDetails"><dir name="BancontactPaymentMethodDetails"><file name="SetupToken.php" hash="1c5fe4a1ca54a8fb7c574b75967d343b"/><file name="VaultToken.php" hash="790858ac58ea06e8e2b72fe5bf38e978"/></dir><file name="BancontactPaymentMethodDetails.php" hash="eb135bbb608154fdeea57defaec05f60"/><file name="CashOnDeliveryPaymentMethodDetails.php" hash="2ff970fddb1b6423c1c8fd77fbe8995c"/><file name="ConsumerName.php" hash="9624e583f2108c903278b49f46a6f451"/><file name="CreditCardPaymentMethodDetails.php" hash="775a38a9942a0c020bd30f919d503576"/><file name="HomePayPaymentMethodDetails.php" hash="1c405a880dd6ece8524f3f500f015dd6"/><dir name="IdealPaymentMethodDetails"><file name="ConsumerAddress.php" hash="c02fa5ed9ad37f71c86d86b773853ba1"/><file name="ConsumerCity.php" hash="0b12b3d73844fe3419424d2237fbfb46"/><file name="ConsumerCountry.php" hash="341b5e529f332943247e270cb15e0d41"/><file name="Status.php" hash="443747af3cf6a9410756d4a2f92e4cd3"/><file name="TransactionId.php" hash="522505f7f26c155ea2e9100d0660513b"/></dir><file name="IdealPaymentMethodDetails.php" hash="6f3b7dd067e25bec12e6a1c7943d5c22"/><dir name="KlarnaPaymentMethodDetails"><file name="ErrorCode.php" hash="f484af9db9179f99cc16aee082594194"/></dir><file name="KlarnaPaymentMethodDetails.php" hash="aa55bdc952f0344939acbb328d72e137"/><file name="PayPalPaymentMethodDetails.php" hash="ccc25346fdbdd43f16a272e44d1ecded"/><file name="PaymentMethodDetailsFactory.php" hash="f475588f11edfcc58b134ce96a019071"/><file name="PaypalPaymentMethodDetails.php" hash="ccc25346fdbdd43f16a272e44d1ecded"/><file name="SepaPaymentMethodDetails.php" hash="67d80e9e027f512e0c2390af0753bc03"/><dir name="SofortPaymentMethodDetails"><file name="TransactionId.php" hash="17e077eaf3ca24bfa53d1874c7c49d3b"/></dir><file name="SofortPaymentMethodDetails.php" hash="715a1df40c7eb1ea364328db8ad25884"/></dir><file name="PaymentMethodDetails.php" hash="3e55b735b0d5afafc94cff689749e9d4"/><file name="Reason.php" hash="ee9f592c553ae6b2a23eb718796a6f1e"/><file name="Reference.php" hash="ef89f2d1d0d4f79d6c9c56cc37df3b86"/><file name="Status.php" hash="5667853f873cc2f96a22faad24f4ecdb"/></dir><file name="Transaction.php" hash="b60cacb1e5bfb71f9a3e99a26cba113c"/><file name="Transactions.php" hash="1b4f0e0893edbdc613dc7fdaa8cf04aa"/></dir><file name="Order.php" hash="dbaca5f6f0da1d298933c0092dfd7b13"/><file name="SwiftBic.php" hash="797dcd80eb901e0b16ceed4535323edf"/><file name="Url.php" hash="6d685f3fbedef46691eb949ab99de263"/></dir><dir name="tests"><file name="ClientTest.php" hash="2a5fbfd3a2761cb14da03c47841d9207"/><dir name="Common"><file name="ArrayFunctionsTest.php" hash="83d021a90e734569f407fa6fad37b8d7"/><file name="ChoiceBasedValueObjectTest.php" hash="1c7ce37503a953862fa122c844f4c4c3"/><file name="ISO3166Test.php" hash="61df8083143bebbda5f85a53cc1158a9"/><file name="IntegerBasedValueObjectTest.php" hash="29addeff508a3e4fa35f2c5bb11cfc9f"/><file name="StringBasedValueObjectTest.php" hash="000c71401ce38b3e4bdebfd55fdc4037"/></dir><file name="CurrencyTest.php" hash="19c4d8e7186932d2d6f03c39a2518288"/><file name="FallbackTest.php" hash="e30c6488790f2bf2f12d07d260e81175"/><file name="GingerTest.php" hash="a8cff13dbc862dc7d57366a2b8d17e4f"/><file name="IbanTest.php" hash="99b8923d2d318d09ef7a62960e5bfff6"/><dir name="Ideal"><dir name="Issuer"><file name="ListTypeTest.php" hash="069a65a3077c93651b720a2acf03bad5"/><file name="NameTest.php" hash="e00ca4a47c6a023b2072d5f5c39aafde"/></dir><file name="IssuerTest.php" hash="39feeb1955e9b3579b924e36a5f5528d"/><file name="IssuersTest.php" hash="7c1b47374296c9f13fca66da69fffdc5"/></dir><dir name="Mock"><file name="FakeChoiceBasedValueObject.php" hash="f30bc690046b9a9a23e61a5fdde11650"/><file name="FakeIntegerBasedValueObject.php" hash="96c2636fea80927685597ff5055911af"/><file name="FakeStringBasedValueObject.php" hash="bb9625fd213d7304f15f9e7a0fb48b39"/></dir><dir name="Order"><file name="AmountTest.php" hash="3c18b1d52b7ecef662946b642b58ffac"/><dir name="Customer"><file name="AddressTest.php" hash="ff1b4f38636fcb9b0b53a62f8303a43a"/><file name="AddressTypeTest.php" hash="aea75632d69e91a5c7e614205fcec02c"/><file name="BirthdateTest.php" hash="bece556c3321280e9ccc21d6bad577c5"/><file name="CountryTest.php" hash="006a24a721d3d24e21223c95713a3027"/><file name="EmailAddressTest.php" hash="ab2e6359bc0eed4fcf4f3a439ced6001"/><file name="FirstNameTest.php" hash="bd238c5f1f42b3887457813cbb2643f4"/><file name="GenderTest.php" hash="fd9ec365c8f1bc5ce83a41550a5e6c04"/><file name="HouseNumberTest.php" hash="0926baa525dda98777f777c9e2c42b7f"/><file name="LastNameTest.php" hash="0c7781fcbe7c1da602d566b2f32f4bb0"/><file name="LocaleTest.php" hash="d8e116106dd1d22a61558e49dccb5d94"/><file name="MerchantCustomerIdTest.php" hash="c2795d65135a0b3698c7ef040c121d5e"/><file name="PhoneNumberTest.php" hash="b041b8d1403a9354b578e908856260f9"/><file name="PhoneNumbersTest.php" hash="5db97ef630077275d543b731d02a2583"/><file name="PostalCodeTest.php" hash="d81229a21b80aa968f2326c05ae68b94"/></dir><file name="CustomerTest.php" hash="4378e19c60283c5212edf5706656824e"/><file name="DescriptionTest.php" hash="c8e67540574645435c9633e820b2fcea"/><file name="ExtraTest.php" hash="180afc016ea045b410294b457669180d"/><file name="MerchantOrderIdTest.php" hash="56f74fff2d763665dc671051da39f0ed"/><file name="OrderLineTest.php" hash="38612e9bb59b7489d155e10a3a1e97f9"/><file name="OrderLinesTest.php" hash="08164ce18a6eb30c8c64ec4ec53bd203"/><file name="StatusTest.php" hash="633c275d9cacde3044d3c2f6e12f64c7"/><dir name="Transaction"><file name="AmountTest.php" hash="9c9358c2655c439541ed8bc3300a7025"/><file name="BalanceTest.php" hash="d9ebb1d889cc8b762354603bd953102d"/><file name="DescriptionTest.php" hash="a85862756701f88b9a53f1bc5b088077"/><dir name="PaymentMethodDetails"><dir name="BancontactPaymentMethodDetails"><file name="SetupTokenTest.php" hash="0309ef82847327432085a234457132d5"/><file name="VaultTokenTest.php" hash="9f747c14d5351837f26d69814e34fea5"/></dir><file name="ConsumerNameTest.php" hash="4a0f8c66440b8f9e759af2079cf5b4a3"/><file name="CreditCardPaymentMethodDetailsTest.php" hash="819f5ece20ac251ffd8d38a87a154067"/><dir name="IdealPaymentMethodDetails"><file name="ConsumerCityTest.php" hash="b17364c543447ef5900a853f868a15e1"/><file name="StatusTest.php" hash="704cd68cb6dd00b4542fe1097f06685c"/><file name="TransactionIdTest.php" hash="3c61bc9fe23a4e071f018065649146b6"/></dir><file name="IdealPaymentMethodDetailsTest.php" hash="589ca806f6f967a54ef4cd751291ffc1"/><file name="PaymentMethodDetailsFactoryTest.php" hash="acd8b527e431a623edb5f7bdb0f9500e"/><file name="SepaPaymentMethodDetailsTest.php" hash="6130f870009e34fc8d8640a6884c69fd"/><dir name="SofortPaymentMethodDetails"><file name="TransactionIdTest.php" hash="c9821234570959be7c191ccb677a659b"/></dir><file name="SofortPaymentMethodDetailsTest.php" hash="eec644fb7b7833d4b36e819fcff1c3d6"/></dir><file name="PaymentMethodTest.php" hash="179ce2dcd497f3211e567a97fddeceef"/><file name="ReasonTest.php" hash="471d21ce3eda2f61ffd83175743a4370"/><file name="ReferenceTest.php" hash="1c3c0e5dc77049dc2e125b21bed95571"/><file name="StatusTest.php" hash="8469cfe2f0451e7b13fc6800a237fc06"/></dir><file name="TransactionTest.php" hash="265c3be517d4b0c31e04c4cc58f34cbd"/><file name="TransactionsTest.php" hash="43afdcaccc60c222442f949c783f9044"/></dir><file name="OrderTest.php" hash="835ee96af7c6438faaad13e4a81d8c0e"/><file name="SwiftBicTest.php" hash="f4668a41cbf056c5baefaf0227c2bb0e"/><file name="UrlTest.php" hash="66ea6f9a31d43c01755b25b93edc20c4"/></dir><dir name="vendor"><dir name="alcohol"><dir name="iso3166"><file name="ISO3166.php" hash="aa81cf0f5296938ef20e112e7b4f4693"/><file name="ISO3166Test.php" hash="9697fc6b47178428a59a24070c5190ea"/><file name="LICENSE" hash="822f444cbf3bcac7d7f2fe0ead0a0a55"/><file name="composer.json" hash="7c538c51f28d0a2ba28a1d4302ca8f66"/><file name="phpunit.xml.dist" hash="89876ca642d837fa8daf146d0957a2ac"/></dir></dir><file name="autoload.php" hash="59ecb048d78a3b883763db2058dce852"/><dir name="beberlei"><dir name="assert"><file name="composer.json" hash="77869933cd85efa383ca363edc5e4bf3"/><dir name="lib"><dir name="Assert"><file name="Assertion.php" hash="21ae408bdc50294af67d7b9f64bdb997"/><file name="AssertionChain.php" hash="e60ff0303eeceb815dd0bf1a54c2ff89"/><file name="AssertionFailedException.php" hash="724f34754387eecfff51fcd15f6d5ee9"/><file name="InvalidArgumentException.php" hash="50f56784801fffa893659406fa223400"/><file name="LazyAssertion.php" hash="dfaf884b4f9e138c09719209d1733753"/><file name="LazyAssertionException.php" hash="483bfff7a6dc1142ec1cdbba6ad09acc"/><file name="functions.php" hash="a9b734d21c05b88fbf50051c375187bc"/></dir></dir><file name=".php_cs" hash="854be294cba3dbb331cd9dd35f6658f1"/></dir></dir><dir name="bin"><file name="phpcbf" hash="266a1b90c2fdbb903a292d443ead6b5a"/><file name="phpcs" hash="8d4abac4c3d748a5d6cc44bb214a19a0"/><file name="phpunit" hash="a0a409545298664e3123f29654d4e350"/><file name="uuid" hash="ce1fc89843965f6a79b138d9abd549bb"/></dir><dir name="composer"><file name="ClassLoader.php" hash="bf6c4758ae060fd8f3e3a88e6c24ac3c"/><file name="LICENSE" hash="9b01fc9e0129adc080344653fbcbbc0f"/><file name="autoload_classmap.php" hash="5c7e69dbfc13698fd03c9ebd036364ac"/><file name="autoload_files.php" hash="f1b2e4f10675fcb7c76f61c214936815"/><file name="autoload_namespaces.php" hash="bf68130fbea56ecaee0e8f0f861151dd"/><file name="autoload_psr4.php" hash="c995d3a5ab737ff2b12385b2b4bc23d5"/><file name="autoload_real.php" hash="94622f7592c66cc7fbc27589e5c99f06"/><file name="autoload_static.php" hash="c92ae39defc5105304907cc2c2a37fb9"/><file name="installed.json" hash="770bb1c68e444ddb330a68cbd0309f97"/></dir><dir name="doctrine"><dir name="instantiator"><file name="CONTRIBUTING.md" hash="cd27404e6ef5f16f527f86ee4cce6cc2"/><file name="LICENSE" hash="5129d172ff39ba8552667462c1ae9eee"/><file name="README.md" hash="203712290e0ed73ebc5ffd3a5d18ea27"/><file name="composer.json" hash="ffe535a074206a24cd60dbcf398cc0fc"/><file name="phpmd.xml.dist" hash="e2a7452cb0d9e1a3507e133773c14b3f"/><file name="phpunit.xml.dist" hash="a9df85d69657a89561c27122809f530d"/><dir name="src"><dir name="Doctrine"><dir name="Instantiator"><dir name="Exception"><file name="ExceptionInterface.php" hash="84ad24a17513e05bf401c66444cc71bd"/><file name="InvalidArgumentException.php" hash="742702056447aaef18b421465bec90c4"/><file name="UnexpectedValueException.php" hash="106a3afd02321d3ceac76f7093eebc72"/></dir><file name="Instantiator.php" hash="b471e9766e58011c7c53e5841ca6f536"/><file name="InstantiatorInterface.php" hash="e64f01113543f94d70f52cf68c0fb31d"/></dir></dir></dir><dir name="tests"><dir name="DoctrineTest"><dir name="InstantiatorPerformance"><file name="InstantiatorPerformanceEvent.php" hash="9e4a696bddafc38140e3999d1ff90b6c"/></dir><dir name="InstantiatorTest"><dir name="Exception"><file name="InvalidArgumentExceptionTest.php" hash="e968500e29d73f48f6edc75226520e7e"/><file name="UnexpectedValueExceptionTest.php" hash="cac7b001b3055008f5b822d435948857"/></dir><file name="InstantiatorTest.php" hash="9a233cb7c4591ed8b9de4b1ded86bc2b"/></dir><dir name="InstantiatorTestAsset"><file name="AbstractClassAsset.php" hash="9cf3ad170032ebe5b0a181b68b325c16"/><file name="ArrayObjectAsset.php" hash="b8b317463e96644974ff54feb34811c7"/><file name="ExceptionAsset.php" hash="8586be22617a057732bc47289483bf4f"/><file name="FinalExceptionAsset.php" hash="6f89c841d426f406725957cef0ac737b"/><file name="PharAsset.php" hash="b116a3a413543379fc2d39b7ffd3f35d"/><file name="PharExceptionAsset.php" hash="6a6e5735f1d499a45b7b1f18bc0aee82"/><file name="SerializableArrayObjectAsset.php" hash="41997bb9a9020dfe6b56a3ed55429723"/><file name="SimpleSerializableAsset.php" hash="aab2b889df9d2547d9ba953523215c19"/><file name="SimpleTraitAsset.php" hash="90f91f23568a1b63976636e6cd4360fa"/><file name="UnCloneableAsset.php" hash="9c22bc15f90bf454d99610a3ee2db51f"/><file name="UnserializeExceptionArrayObjectAsset.php" hash="7d588a23cdd439af61dd0f1daa8e2e5d"/><file name="WakeUpNoticesAsset.php" hash="800237f5f1caa0419ae8c4300b3afc47"/><file name="XMLReaderAsset.php" hash="74b4c88f0138319d3fe2e8912ffad4a5"/></dir></dir></dir><file name=".gitignore" hash="b72e2fc9bdf095edeb22e448b73adb3c"/><file name=".scrutinizer.yml" hash="218a0825aefed54c12e8f93d71ea355e"/><file name=".travis.yml" hash="e4d8ee80b845a0bb7e4f41c917e9564b"/></dir></dir><dir name="guzzlehttp"><dir name="guzzle"><file name="CHANGELOG.md" hash="7562a172db610369eeb02228779d8fa8"/><file name="LICENSE" hash="e3263ef900341e9a81daaba91bbfd23a"/><file name="README.md" hash="d1df21412e1e3a6dd1d2d5b796db9be7"/><file name="UPGRADING.md" hash="8d0d9048e11ed2b5e79b1ad86db91d48"/><file name="composer.json" hash="90d112012751a6f48802b148a6470344"/><dir name="src"><file name="BatchResults.php" hash="9601ffcd97c39a60ccb6d14bb008bbb3"/><file name="Client.php" hash="8eacd1e457fb07212bf9002a4537f832"/><file name="ClientInterface.php" hash="ccaa707d2338e69c1fffa432b2514eee"/><file name="Collection.php" hash="431f847865c9621f926b35f91a85dd2c"/><dir name="Cookie"><file name="CookieJar.php" hash="2981ed1414b29b66426eece64865c3ab"/><file name="CookieJarInterface.php" hash="51fd9da76a30957b484296f452c1da42"/><file name="FileCookieJar.php" hash="4aa9c86927b79cf2d978253e0410fb78"/><file name="SessionCookieJar.php" hash="b6c5adee6743072b733a8f3dba43761b"/><file name="SetCookie.php" hash="00db8c8eb2182fddf8afadaaaff20460"/></dir><dir name="Event"><file name="AbstractEvent.php" hash="ce6fb61cd25791ac865d4e84cd9759fd"/><file name="AbstractRequestEvent.php" hash="b18f06f7d9c95a0cc3ef99fdbf4dc203"/><file name="AbstractRetryableEvent.php" hash="2d170945ffa71a89f384ec58078e0c19"/><file name="AbstractTransferEvent.php" hash="89813f179d9cd109a17bebc28494d773"/><file name="BeforeEvent.php" hash="f2cd9a9ac1070b718540129f5909402e"/><file name="CompleteEvent.php" hash="a2b9b8e1e58f198601c22a7f2708b2c1"/><file name="Emitter.php" hash="d86764de09816c66ddbb1543bccb766f"/><file name="EmitterInterface.php" hash="50d4ccf2a59c4d70b6134873f6934c6e"/><file name="EndEvent.php" hash="1f076fa17483b2dd92098023e78069b6"/><file name="ErrorEvent.php" hash="9d0eaa82626bccaffac0a5f978c13fd8"/><file name="EventInterface.php" hash="2cf7086b80fad54dd9fb1bd66bd3af95"/><file name="HasEmitterInterface.php" hash="aca299bf20f91968a149cb89e117ddc9"/><file name="HasEmitterTrait.php" hash="fceb27761c90d7704cfc2e7ab31651b0"/><file name="ListenerAttacherTrait.php" hash="e71a23d493f4af08228d061dab2ee118"/><file name="ProgressEvent.php" hash="92e78daf64260f604add6dc7ae6b1c4c"/><file name="RequestEvents.php" hash="21dcaf3d461607486b356042032ac74d"/><file name="SubscriberInterface.php" hash="399edbac1d85763544dc54c597194345"/></dir><dir name="Exception"><file name="BadResponseException.php" hash="5d502016856c146aa47d0bbed5106ee1"/><file name="ClientException.php" hash="d1c7f54a71cb105131c0c22b20619bcb"/><file name="ConnectException.php" hash="9ff38d10d12832a15172c72c086143a4"/><file name="CouldNotRewindStreamException.php" hash="d73abf147478558ed008bbffe9985780"/><file name="ParseException.php" hash="4cc7b783e1a68628a7a85f2ad163e775"/><file name="RequestException.php" hash="583ee428fc5aed66ee3b68d05acd967d"/><file name="ServerException.php" hash="36ecb7a8e416e9633b10e677fa5a639e"/><file name="StateException.php" hash="7ed449728b670500dcbde0fad3d2c0c8"/><file name="TooManyRedirectsException.php" hash="9952c5877077fad22bed15fbe04a1ca7"/><file name="TransferException.php" hash="42ffaf70cff001e7b0cfc42ce2e8f8dd"/><file name="XmlParseException.php" hash="77d95d8fa4fb670b348f9c0318a6e107"/></dir><file name="HasDataTrait.php" hash="fb294d4af626e5dd9cf4dec0a146ba0b"/><dir name="Message"><file name="AbstractMessage.php" hash="4816a8fe7b070c4bedd5dbf6d5e218e5"/><file name="AppliesHeadersInterface.php" hash="8e21471c8384c82f9953a5f35a8c1aad"/><file name="FutureResponse.php" hash="f272567b867f4ac209dd6c92eaf19056"/><file name="MessageFactory.php" hash="0091dc5a0f6166706011517423ce3671"/><file name="MessageFactoryInterface.php" hash="72c981182dc3381da7e1d764745fb50f"/><file name="MessageInterface.php" hash="396bfc61fe4cebb62fa47524c772b513"/><file name="MessageParser.php" hash="a73a7ad08d219ccbd98679a31328d249"/><file name="Request.php" hash="69893f14e5f063861b7a9229cde5d741"/><file name="RequestInterface.php" hash="375992a94f5e9926801bff04d9a97c33"/><file name="Response.php" hash="a5fafa750b85c8bfc94c8ecf22d33fef"/><file name="ResponseInterface.php" hash="650349ea50ba9118c92e34fa95ff7e27"/></dir><file name="Mimetypes.php" hash="98c49c56940197e757af27bb7e13a89b"/><file name="Pool.php" hash="324bd717b59e8aab19b6047b5715e04f"/><dir name="Post"><file name="MultipartBody.php" hash="f33a49bd4efe5ea4685365600bd383d7"/><file name="PostBody.php" hash="bb0f2cf36086a5ab8c83907468472d7f"/><file name="PostBodyInterface.php" hash="6b2f4ea74647a3b5c122366b50fd4931"/><file name="PostFile.php" hash="855721b2dd955fab148b96f609d66349"/><file name="PostFileInterface.php" hash="125d790f2656efe2005a46d98bbf9ccd"/></dir><file name="Query.php" hash="87ec30bde4145bb5086b0f905a37acc7"/><file name="QueryParser.php" hash="e756aae39877cf8137a7d61731a96c5b"/><file name="RequestFsm.php" hash="53643f146ac4a8af437f985b56537cf3"/><file name="RingBridge.php" hash="f5a096b469ac183996a00ccbe59d2ff1"/><dir name="Subscriber"><file name="Cookie.php" hash="9da9bde856192c9588ba7288508fe57c"/><file name="History.php" hash="0b69411a23222125a63b1168e872e7d1"/><file name="HttpError.php" hash="54881525a1132d20b9c94d2263c74c3c"/><file name="Mock.php" hash="7e03e626b83424724aae8e3a6aaaac4a"/><file name="Prepare.php" hash="ea2f4fad216b1050c6bc69c6c9de28a6"/><file name="Redirect.php" hash="5937a24086742fe1d71f70632cf74626"/></dir><file name="ToArrayInterface.php" hash="d6f685d05271786954881729ea03acdf"/><file name="Transaction.php" hash="4b09f99ae5c89731dd0ded5c7e270fce"/><file name="UriTemplate.php" hash="d1eb1c8d5d8e952ec5ebc5ec229ebd8b"/><file name="Url.php" hash="5aedbcee0366876653ff7740928d0b7b"/><file name="Utils.php" hash="7bfdfed1cfceac8fb74825e2e7d58ca2"/></dir><file name=".travis.yml" hash="fc89cdb2bffb45541e0ab0eaa564b136"/></dir><dir name="ringphp"><file name="CHANGELOG.md" hash="799347e9b288e0be8ea32f1a1abf8267"/><file name="LICENSE" hash="f9ddfabead2127b089fa60b1cf462ad7"/><file name="Makefile" hash="a17b9a1407c7959a90868c31f61e71f4"/><file name="README.rst" hash="e7a3f00179cfb4b0feee9f88b85e9fe9"/><file name="composer.json" hash="68665e93d1453df2865ed80265fff1ba"/><dir name="docs"><file name="Makefile" hash="777df5c7fafb2d6bfcb3c802e84adc3a"/><file name="client_handlers.rst" hash="6ca3e9e513f571032762133d8a162471"/><file name="client_middleware.rst" hash="681214a7d675a62a5ef3b86acfe37a20"/><file name="conf.py" hash="9f2affce54bd7d8c9a9007b59fc763e0"/><file name="futures.rst" hash="34a204df5751b48199926211066729eb"/><file name="index.rst" hash="a3671abf15c984498720c8899bb08394"/><file name="requirements.txt" hash="baa676171a96a28c1393d91384b1b7ef"/><file name="spec.rst" hash="a01eb587edb3e5114007cad16d235e02"/><file name="testing.rst" hash="6413148aac13954f10afe9f49312710d"/></dir><file name="phpunit.xml.dist" hash="a08ade01ef087db50589d228bb9eb420"/><dir name="src"><dir name="Client"><file name="ClientUtils.php" hash="0287d3512ac65d1f8e278e219274c847"/><file name="CurlFactory.php" hash="f909fb13038da4267441077c7b794500"/><file name="CurlHandler.php" hash="85e6686ed0f84679fc7e4f851c268b63"/><file name="CurlMultiHandler.php" hash="fc5c927d9981a88d28ec6071c437bfbf"/><file name="Middleware.php" hash="10b4e00d41ae53ab744c3df441813175"/><file name="MockHandler.php" hash="d9b3b00bd2e611076fb26f6706c6210c"/><file name="StreamHandler.php" hash="f7d46f8fe620052a8d45b454c42cedc0"/></dir><file name="Core.php" hash="f658655aef2402084df1ae4f1fe426aa"/><dir name="Exception"><file name="CancelledException.php" hash="b520e10d3139675532606f2a0334cca7"/><file name="CancelledFutureAccessException.php" hash="fa44e44ab519317596c0790a65d7bf38"/><file name="ConnectException.php" hash="de603e26f57a49cd5e4eab10e1686f15"/><file name="RingException.php" hash="965eeeb09364f0e0da13d094eefb4be3"/></dir><dir name="Future"><file name="BaseFutureTrait.php" hash="718e41c2d5cef401149c20ca371ad424"/><file name="CompletedFutureArray.php" hash="2ac2ca1892020c4608f2435fd0ebccd5"/><file name="CompletedFutureValue.php" hash="3c6ebdc379ed9af49fc185dd3d37c210"/><file name="FutureArray.php" hash="7f9b892d14899e73e491389c48301d4a"/><file name="FutureArrayInterface.php" hash="4871442a53bd711d89ac9823ee0d8df9"/><file name="FutureInterface.php" hash="eb26d9d532221a1425a8fac2aad96a9e"/><file name="FutureValue.php" hash="be5e06025b123a0d8a9acb8198c2f936"/><file name="MagicFutureTrait.php" hash="94f71a67eebbeaf6f85f778b73ae931d"/></dir></dir><dir name="tests"><dir name="Client"><file name="CurlFactoryTest.php" hash="acaa0fec3dcbc3128b80e020340ac669"/><file name="CurlHandlerTest.php" hash="21ec6983ba2f120240b61e9ab428198d"/><file name="CurlMultiHandlerTest.php" hash="06596c64487027c651f33b797e12a2f6"/><file name="MiddlewareTest.php" hash="100c93dbc7a3053493a42e3e42a244a5"/><file name="MockHandlerTest.php" hash="38eee76c7a84144938ad6704f87d805e"/><file name="Server.php" hash="fa6f211ad34231d3db7bd09a65e20669"/><file name="StreamHandlerTest.php" hash="29e30c9dbdd9728b000494d651e135cb"/><file name="server.js" hash="88d159b78be1b7fa9212209d4d38aef3"/></dir><file name="CoreTest.php" hash="5f7dca3a73b8831f4465fe8dab669118"/><dir name="Future"><file name="CompletedFutureArrayTest.php" hash="700f902ea1cce7e9001d01568ed581d8"/><file name="CompletedFutureValueTest.php" hash="f0f0fbd1dd1c4ac7c200cac5254f6cf8"/><file name="FutureArrayTest.php" hash="faa49dcfb801b774d54ee6c086011614"/><file name="FutureValueTest.php" hash="e7c40a1fd52bb1a58aaad00c8705b37f"/></dir><file name="bootstrap.php" hash="2b4a9ef0805593b41fc90c937437c53d"/></dir><file name=".gitignore" hash="2eb59fa71b9af27e9490e3f48045826d"/><file name=".travis.yml" hash="efa3829190500a4d0da1a423497a5cbe"/></dir><dir name="streams"><file name="CHANGELOG.rst" hash="4752dfe3eab49192fde530a2c2cdb4fe"/><file name="LICENSE" hash="f9ddfabead2127b089fa60b1cf462ad7"/><file name="Makefile" hash="648bf3b1ee188fe82ff842fbf8703ce6"/><file name="README.rst" hash="3e6fd1afbf41950f151ec71a248852ea"/><file name="composer.json" hash="b1a7224ca7d3dc8822599053a986ecb7"/><file name="phpunit.xml.dist" hash="2c20ff733adcdbfc654d37cd863c62a1"/><dir name="src"><file name="AppendStream.php" hash="6058885102fd00fb17b3ba541631bd07"/><file name="AsyncReadStream.php" hash="357a76d042d9f3e7aec1062f6e3a80d2"/><file name="BufferStream.php" hash="87ddb692697c7708e20e1145e7a63911"/><file name="CachingStream.php" hash="6fe89b215a313c235b9239e52378180b"/><file name="DroppingStream.php" hash="44a9450100c8a5f85f3b95563417ccf5"/><dir name="Exception"><file name="CannotAttachException.php" hash="ab4352ccfc2468697a1a86945bbdd1c8"/><file name="SeekException.php" hash="68575bcb6ba2622232ffe7e65450b165"/></dir><file name="FnStream.php" hash="d4bf7cd1da1124cf8c5a561cecdc5059"/><file name="GuzzleStreamWrapper.php" hash="048a82bcb138568e0bbbceaf5f886716"/><file name="InflateStream.php" hash="788a139a27c18d6bd886159e8ef8c10e"/><file name="LazyOpenStream.php" hash="2424456087e77c0cdf3ba02de4f15e9c"/><file name="LimitStream.php" hash="e2a9332833d878494ed30fb3d9f2b8a3"/><file name="MetadataStreamInterface.php" hash="802f0231c068d9f085f3c8653bb926d1"/><file name="NoSeekStream.php" hash="a35f7ea68c23cab4d246f7a2a0edcbe9"/><file name="NullStream.php" hash="a0b4395fc529242d414dd578c4c6f980"/><file name="PumpStream.php" hash="bb422e1161cc1ccf89951fea853f135a"/><file name="Stream.php" hash="f6efbdb369652e6351c8e837febe1795"/><file name="StreamDecoratorTrait.php" hash="775c6b0b12cec849cd1be3bab364006a"/><file name="StreamInterface.php" hash="4ed5919e395f7e4c568e600c800f378d"/><file name="Utils.php" hash="5ee03fd3c0c37082efab7dc213c9f455"/></dir><dir name="tests"><file name="AppendStreamTest.php" hash="7c1d5b1fd981a895240c532a3388cadd"/><file name="AsyncReadStreamTest.php" hash="3cf24da24619f99afd5361953a87a0c9"/><file name="BufferStreamTest.php" hash="e1dff59b71a28ca18f2bf64d88160f8e"/><file name="CachingStreamTest.php" hash="8857ec65fa6e1733a835d1bdecadf0df"/><file name="DroppingStreamTest.php" hash="cb27027850b6b6b87764e716f18568fc"/><dir name="Exception"><file name="SeekExceptionTest.php" hash="2396902960ff0282591d51fd5d40c2df"/></dir><file name="FnStreamTest.php" hash="10285ef01d4cdde83ee80b6132f05a30"/><file name="GuzzleStreamWrapperTest.php" hash="c3f6afb7e215827d5c02cc7ccb4a1848"/><file name="InflateStreamTest.php" hash="b34cbead206f2c39af9735299732b0c5"/><file name="LazyOpenStreamTest.php" hash="794d1631cdf4970a0e69d6ec18290b8a"/><file name="LimitStreamTest.php" hash="66aa7cda081a9d98b8520f942d8f959c"/><file name="NoSeekStreamTest.php" hash="23e203dceb9d70b248d9c3ff5a7aa19b"/><file name="NullStreamTest.php" hash="667a01a596537fe1743ccc237e29cb61"/><file name="PumpStreamTest.php" hash="4cfac47d1911e456bb024913883d675e"/><file name="StreamDecoratorTraitTest.php" hash="0a5247c33b45fd37eb6d4582fd33560e"/><file name="StreamTest.php" hash="a9651186306c293533de2c7d9575f23b"/><file name="UtilsTest.php" hash="f137bb850134805b09794ce79423d9ad"/></dir><file name=".gitignore" hash="af19642b4a44a0330a47893c52d33a78"/><file name=".travis.yml" hash="2559fbe72dc387ede606879bedf4a420"/></dir></dir><dir name="hamcrest"><dir name="hamcrest-php"><file name="CHANGES.txt" hash="2be7a631edc5691639952515b30c254a"/><file name="LICENSE.txt" hash="0706dd2f96639ccb4dd976e10c481c3a"/><file name="README.md" hash="1e595cfda31c16106670a2a1e9cd7421"/><file name="TODO.txt" hash="0b800d6ded2a0c085ab5b2e756044954"/><file name="composer.json" hash="ce47e99bbba9373399ba6be177a6a3d1"/><dir name="generator"><file name="FactoryCall.php" hash="09c4ac4049be5a36ace3971fa9d625a2"/><file name="FactoryClass.php" hash="224b2b139ed2c101c824554dbf8ef76f"/><file name="FactoryFile.php" hash="a4c76703512f16a3b0103241347960d4"/><file name="FactoryGenerator.php" hash="5b877e58817974a0c8943e4053841c86"/><file name="FactoryMethod.php" hash="55b50b5b5570edfc99dc64fba0e22604"/><file name="FactoryParameter.php" hash="511959cb6b62604f525a70dc6b3ef3f2"/><file name="GlobalFunctionFile.php" hash="610d3aaec2e046dd79966e7ad688ca3d"/><file name="StaticMethodFile.php" hash="aaebd2c29d870bd8dee2cd2047717c92"/><dir name="parts"><file name="file_header.txt" hash="466f1587a35faa9a9542ab1316203f6d"/><file name="functions_footer.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="functions_header.txt" hash="fda9d086a50a98662905f59ef352efba"/><file name="functions_imports.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="matchers_footer.txt" hash="7d9d25f71cb8a5aba86202540a20d405"/><file name="matchers_header.txt" hash="3277ca55491de1132c608c1dec4b62cb"/><file name="matchers_imports.txt" hash="720a61240776e7b00abbafec76e0869c"/></dir><file name="run.php" hash="e61f797371bab1cbae440eb04138a214"/></dir><dir name="hamcrest"><dir name="Hamcrest"><dir name="Arrays"><file name="IsArray.php" hash="046e22c3011bdfcb133543335e7abd93"/><file name="IsArrayContaining.php" hash="459cd105fa96e5341f45904aaeb56598"/><file name="IsArrayContainingInAnyOrder.php" hash="2cef4abcc5ab97b3df0046520a7d6e7f"/><file name="IsArrayContainingInOrder.php" hash="65d246bf40dc04a79f9004bf0035fa54"/><file name="IsArrayContainingKey.php" hash="7597fa5846419082989d30e9edb26172"/><file name="IsArrayContainingKeyValuePair.php" hash="6a52d13a939539499f49fe337775865f"/><file name="IsArrayWithSize.php" hash="d7a69cc47d9439c1800148689ac453a8"/><file name="MatchingOnce.php" hash="9d3fb3a27b647938f8cf8e524f27e810"/><file name="SeriesMatchingOnce.php" hash="7d8748961eeed62f41d6c1b5ed904a65"/></dir><file name="AssertionError.php" hash="541cb27db2e80ca345ceed60ccbbe964"/><file name="BaseDescription.php" hash="9db3f61686a6a8d347539b6bd72e0f7c"/><file name="BaseMatcher.php" hash="0797e7dccea86ae1d711b546366b6615"/><dir name="Collection"><file name="IsEmptyTraversable.php" hash="0bb21c30cd83309df3b1760a42db329a"/><file name="IsTraversableWithSize.php" hash="82f5bc7bbcf5c8d414d5c5df513021f0"/></dir><dir name="Core"><file name="AllOf.php" hash="9c0556b04ecc5234554cb88d246693fe"/><file name="AnyOf.php" hash="0283e8bb1066c0a7778597dba3abd5a5"/><file name="CombinableMatcher.php" hash="7ed5c880e855cd933cd67269c632fdf0"/><file name="DescribedAs.php" hash="b9610b3fb9c958af5bd00b209bbea614"/><file name="Every.php" hash="8da51054a51c43aa6a47db74dabefc35"/><file name="HasToString.php" hash="737b4c8251818024479ad0f3a62d4db6"/><file name="Is.php" hash="be44451c55aecbbaf31eca4b228ef4fb"/><file name="IsAnything.php" hash="e821f460fc35f380ef4b724cb31b49c5"/><file name="IsCollectionContaining.php" hash="1e0c1ddb4678e89c70350ab640c63dca"/><file name="IsEqual.php" hash="893b1ca47257504a31a10671017e2000"/><file name="IsIdentical.php" hash="f7f75b9f9c03d59a7c03dfda5e46ea92"/><file name="IsInstanceOf.php" hash="cde6c79e5805ac0ec205265bf3bf3ad8"/><file name="IsNot.php" hash="4dc8a0cdb009c02cfe145e14b05e156f"/><file name="IsNull.php" hash="b55bb705cf9b70f21e74a14c9f83a25d"/><file name="IsSame.php" hash="a6d99e987db8d27a1b8f59d4eab9d00d"/><file name="IsTypeOf.php" hash="0abbe02d11311a257a142d5c34bf5d1a"/><file name="Set.php" hash="1866123e2a1bc78afa9247f517f6f23c"/><file name="ShortcutCombination.php" hash="2913d33a8d21aa7b6c7e13713438bfd2"/></dir><file name="Description.php" hash="8edfb853ea7dd39fb2e38305cdb6f44f"/><file name="DiagnosingMatcher.php" hash="5637a65b838aa51675d25cafe83f5dd4"/><file name="FeatureMatcher.php" hash="53b4ac56e7d5be0945e37e601877f9da"/><dir name="Internal"><file name="SelfDescribingValue.php" hash="d888248b9598d094a8357c65ffa895cc"/></dir><file name="Matcher.php" hash="f5389c1ee1cddf23568ff8bc1ef50be4"/><file name="MatcherAssert.php" hash="b5def06e63348b17ab324ac95a53c456"/><file name="Matchers.php" hash="032eaf0369c1b26eff4ea0d606e81977"/><file name="NullDescription.php" hash="0ef1987e6a3dc564c272b7477dd6e9af"/><dir name="Number"><file name="IsCloseTo.php" hash="b4c7d1edeb67683b9faa78ff3ef5ef03"/><file name="OrderingComparison.php" hash="8e4bcb07bd3435b2ea6f1d70d51ad933"/></dir><file name="SelfDescribing.php" hash="99486d31499627db6f49b1511b661643"/><file name="StringDescription.php" hash="1d2aa097d509696d1b7665155391b819"/><dir name="Text"><file name="IsEmptyString.php" hash="a72fda44856af00c02f95064fd78cb82"/><file name="IsEqualIgnoringCase.php" hash="998ac12cfe2010c4fcd1ec36d60c7253"/><file name="IsEqualIgnoringWhiteSpace.php" hash="953cbcf82c79606a33462182972d8823"/><file name="MatchesPattern.php" hash="072bbb93d97cb03e34470e22902a264a"/><file name="StringContains.php" hash="973259ba4c021bc98b01bd56956e3b73"/><file name="StringContainsIgnoringCase.php" hash="019c23b88729ef68f0bec489aaae9fa3"/><file name="StringContainsInOrder.php" hash="ea524e541ad9d95127e7e33eafa568a4"/><file name="StringEndsWith.php" hash="98d7c9b5aa5489d079edab83cdb5d480"/><file name="StringStartsWith.php" hash="780309eee10dc8bf8a9196a27cd7583c"/><file name="SubstringMatcher.php" hash="8701209c8a1f9bf3a0160674e686c048"/></dir><dir name="Type"><file name="IsArray.php" hash="1212492b86af0b0e79909fbb52c0df42"/><file name="IsBoolean.php" hash="8c7e6d83a981c1ae716721d6be60f661"/><file name="IsCallable.php" hash="2dfb35016ebad21e80fe93119c9791cf"/><file name="IsDouble.php" hash="f839fd886cb2108d031435e570a295a8"/><file name="IsInteger.php" hash="bf985ca105fc94f86536b2198c6b8a91"/><file name="IsNumeric.php" hash="4cccd7127f066a14256d0d913fdc4a1d"/><file name="IsObject.php" hash="59c048eaaf8c0f98b754cb180bc1de77"/><file name="IsResource.php" hash="84e2d12541cbca3e4a8bd7897e86352e"/><file name="IsScalar.php" hash="3d1d3a3f008ec21000b465ebb3aceb0f"/><file name="IsString.php" hash="a2afea0e570750e5409ba595020f39a3"/></dir><file name="TypeSafeDiagnosingMatcher.php" hash="2599dc9cb3ae8dffe2e77c67550d9f72"/><file name="TypeSafeMatcher.php" hash="e417f10439bb17bfd06c2a20d4acd20a"/><file name="Util.php" hash="61d9357d163ad73a7d4ca0f4e6f2ccfc"/><dir name="Xml"><file name="HasXPath.php" hash="20f40cf5a545f397a4b092cd5c37758d"/></dir></dir><file name="Hamcrest.php" hash="5eecc5a177f6b8937266e2bdbeb06ecd"/></dir><dir name="tests"><dir name="Hamcrest"><file name="AbstractMatcherTest.php" hash="516bdf5d779f7ef19d7efc6caec45f50"/><dir name="Array"><file name="IsArrayContainingInAnyOrderTest.php" hash="089ff675ee6e861640df7027f6303890"/><file name="IsArrayContainingInOrderTest.php" hash="5d28e1a05246b062b98cf5694485f68e"/><file name="IsArrayContainingKeyTest.php" hash="fa75835a89d703842e679b2cc58f9fa8"/><file name="IsArrayContainingKeyValuePairTest.php" hash="c220a8d387c0b5808ec4b711df73ad81"/><file name="IsArrayContainingTest.php" hash="b7abae78a7ac707fd1dfbc55be325b76"/><file name="IsArrayTest.php" hash="011f94ee971eebf4c8b07187f6928f74"/><file name="IsArrayWithSizeTest.php" hash="73370af465facd0e7e978e4913ea9c59"/></dir><file name="BaseMatcherTest.php" hash="f8fcec46b41a0691ed0008e1fc5c2f63"/><dir name="Collection"><file name="IsEmptyTraversableTest.php" hash="dba9f3d429f13fd89856674defe8b3b8"/><file name="IsTraversableWithSizeTest.php" hash="16e3a614cff2240b326f8e589127b7b4"/></dir><dir name="Core"><file name="AllOfTest.php" hash="69a9a1addd32c7f8ec29b13936887dd3"/><file name="AnyOfTest.php" hash="e72f146924fd38ed9ed6448529960342"/><file name="CombinableMatcherTest.php" hash="5905aa5d2e2b473d713f3ce8e812c991"/><file name="DescribedAsTest.php" hash="beec26ba8be293f763b4b8219d1fbfa6"/><file name="EveryTest.php" hash="763916541eb8f73dfb3044f404dd9d60"/><file name="HasToStringTest.php" hash="77720ed3835d0097cefaec903c7fb3b4"/><file name="IsAnythingTest.php" hash="5276a7f43fe59ca10c0d420b6422c076"/><file name="IsCollectionContainingTest.php" hash="b48d66fe89338c35e9e358c3fa50b2de"/><file name="IsEqualTest.php" hash="c6e5c24359153e4c96370f70487eef35"/><file name="IsIdenticalTest.php" hash="49a31a800a34954797cde35d31a8d722"/><file name="IsInstanceOfTest.php" hash="1f11f6839af6f167b734ae3fabf55cca"/><file name="IsNotTest.php" hash="be78daae54b46702b2ea2b5501592c27"/><file name="IsNullTest.php" hash="6d492224840e190b6161676217bc30c7"/><file name="IsSameTest.php" hash="a86d6f2923811af33439cc5cbb7990a4"/><file name="IsTest.php" hash="71018139ed6da88bd8b9ab2943a4faf4"/><file name="IsTypeOfTest.php" hash="25edda97e76054bdb91c8417da8054c2"/><file name="SampleBaseClass.php" hash="4263fc5c37911b956d1f4eb660185702"/><file name="SampleSubClass.php" hash="e1b7d4a90671a7dbdc72a91fdff32e2a"/><file name="SetTest.php" hash="910aaa452f911bd9b9aaec4f4a56c1c3"/></dir><file name="FeatureMatcherTest.php" hash="ce79f0306bb69e1e4310adc46f16f4b3"/><file name="MatcherAssertTest.php" hash="ea1fb8eee9b1d5a998d6caca419a01f5"/><dir name="Number"><file name="IsCloseToTest.php" hash="127de8dff08bc2d340e06025a2882c19"/><file name="OrderingComparisonTest.php" hash="afce244a03d54975c9b5760d6e3a85bf"/></dir><file name="StringDescriptionTest.php" hash="c948c73570495c7cbaa55a8dffb043c2"/><dir name="Text"><file name="IsEmptyStringTest.php" hash="7934bfda5180f163d6aafb64c00d518c"/><file name="IsEqualIgnoringCaseTest.php" hash="cf3a14b7c71dd70f9f596f99d8fb31c6"/><file name="IsEqualIgnoringWhiteSpaceTest.php" hash="4ca798c66ae4195ab70447831bcf28e6"/><file name="MatchesPatternTest.php" hash="27461d153376189d62fdfb4680804ab6"/><file name="StringContainsIgnoringCaseTest.php" hash="5fbbd129a44c86e9a6cebae84985dea8"/><file name="StringContainsInOrderTest.php" hash="d218ec95326e9c2a8da7f4ae75cd181b"/><file name="StringContainsTest.php" hash="f04ebe31acdfeee3a1e769443a57596e"/><file name="StringEndsWithTest.php" hash="b004e602429bcc838a3e0876c9838612"/><file name="StringStartsWithTest.php" hash="d72a55579b0a86eeb1875e69a1577dfb"/></dir><dir name="Type"><file name="IsArrayTest.php" hash="32ff5b8b0ffd4420debd54e51077aa4e"/><file name="IsBooleanTest.php" hash="34085383bd1800022a0ddf4bc40d6ce5"/><file name="IsCallableTest.php" hash="9cbf36289536dd9b3d75fddcacf48db9"/><file name="IsDoubleTest.php" hash="ecf1fe9894f4c00e7ace3275b2b3044d"/><file name="IsIntegerTest.php" hash="481ed054971825c64aa459e499c5664b"/><file name="IsNumericTest.php" hash="2812da17ad6e08826dba6859a1158873"/><file name="IsObjectTest.php" hash="4a236f1718bf4c0b2bc418c5c1f52f59"/><file name="IsResourceTest.php" hash="6405070aa1797b4cd44e92344e64b57c"/><file name="IsScalarTest.php" hash="bcaf66085512c4b00e57a0b42c562377"/><file name="IsStringTest.php" hash="185e37bcf81963490e00f59c5e2a596a"/></dir><file name="UtilTest.php" hash="cb87efa3aea1b34a2a148fb885a21eaa"/><dir name="Xml"><file name="HasXPathTest.php" hash="7befc7f72a206999c46fbe35825b34ab"/></dir></dir><file name="bootstrap.php" hash="af8a0702be36a80065c87ed1c88025d6"/><file name="phpunit.xml.dist" hash="ef9ee977bebe65bdafeb9907c829b19a"/></dir><file name=".coveralls.yml" hash="c599be55bbd9dd3272c0f1c927d96af8"/><file name=".gitignore" hash="a7c23533fe34a5e60ad15b6990928b74"/><file name=".gush.yml" hash="93cd0a5733ca92b39e2e4e2e9445755e"/><file name=".travis.yml" hash="4e4f3de2da946e36a148f4363b2f9ace"/></dir></dir><dir name="mathiasverraes"><dir name="classfunctions"><file name="LICENSE" hash="2306e1d2991863086dd189be2b264caf"/><file name="README.md" hash="db10e07e43d7d5c097eb5cb17ef92cd3"/><file name="composer.json" hash="a1b074aa1e824f2966b68eba755ee5fa"/><file name="phpunit.xml.dist" hash="52db8c9645a87a6454202f4009eae652"/><dir name="src"><dir name="Verraes"><dir name="ClassFunctions"><file name="ClassFunctions.php" hash="0d2b1ce48f0e44226e9490ab896c37d6"/><dir name="Tests"><file name="ClassFunctionsTest.php" hash="ff2fd73c090e3cda400610c744d27041"/></dir></dir></dir></dir><file name=".gitignore" hash="d06b7414eda899a31b10124eb2e563f4"/></dir></dir><dir name="mockery"><dir name="mockery"><file name="CHANGELOG.md" hash="84c12ae5f00ec572e260f7a7848fc5a8"/><file name="CONTRIBUTING.md" hash="5b40921aaff20f1102619486b9dbddc4"/><file name="LICENSE" hash="656bd008462696bb986a3e2185beb125"/><file name="README.md" hash="c92c5de2762fe4f8b27e0617316ceca1"/><file name="composer.json" hash="97c4714d040237bbc6ff5a278c17e609"/><dir name="docs"><file name="Makefile" hash="e19ab5de52588835923a4908cb4abc3a"/><file name="README.md" hash="de0d89b47ab928c7190502f46a447e68"/><file name="conf.py" hash="2fa54c505773b885abf2944009417822"/><dir name="cookbook"><file name="default_expectations.rst" hash="babdfeae777443df21c472c22e61031c"/><file name="detecting_mock_objects.rst" hash="08172ab2f46ffb10d2d979a19bbc1ae5"/><file name="index.rst" hash="038a0fc346347088fa68f9b6958a8cb6"/><file name="map.rst.inc" hash="24c03d9bef431b4795323a229eaba336"/><file name="mocking_hard_dependencies.rst" hash="9d099c11827a78cfb53b95f775484ed7"/></dir><dir name="getting_started"><file name="index.rst" hash="0e2c09582b031c14f1a16493482072a8"/><file name="installation.rst" hash="c176ede35fc56e51baad7b40dbe6c208"/><file name="map.rst.inc" hash="195a2ed86775a86df9dfdaed237370ae"/><file name="simple_example.rst" hash="64d2dc35a9356260dac7ccdc5499d983"/><file name="upgrading.rst" hash="73cbf0c87eb05f908446634f2f23d89f"/></dir><file name="index.rst" hash="53c03e35f49f862b09212d6ff3d17b17"/><dir name="reference"><file name="argument_validation.rst" hash="dd7b53d19a177b65caf05c84a9231d4d"/><file name="demeter_chains.rst" hash="8ace9feb43c87dfdaf37fda94e263c52"/><file name="expectations.rst" hash="a71ae4b3ff12a135dbb65a4964adff0c"/><file name="final_methods_classes.rst" hash="fdb3ccddab72c50a012ad418eb8d838e"/><file name="index.rst" hash="4146c5d087408c56eb676764c9bdc02b"/><file name="instance_mocking.rst" hash="36d99d6100bbaf4032f48c3722515c0b"/><file name="magic_methods.rst" hash="d8e84fdbc1a4aacc656a118745c16d4d"/><file name="map.rst.inc" hash="731afba16b1752d43b429367628918e9"/><dir name="mockery"><file name="configuration.rst" hash="11aeba5110715ab86824634be6223ec1"/><file name="exceptions.rst" hash="d97033ae86c9a62a3454c2c252f0408f"/><file name="gotchas.rst" hash="c5eca12cfa554534585cefd91f0a092c"/><file name="index.rst" hash="5ba773eac7c31643e00d409be8ecf90e"/><file name="reserved_method_names.rst" hash="405a49a8faac80e2e355a183cd05de1d"/></dir><file name="object_recording.rst" hash="c77d7cd292c5a916bf8faa3311c20c7e"/><file name="partial_mocks.rst" hash="7010d2ac778c1be4a14e2b055b221e30"/><file name="pass_by_reference_behaviours.rst" hash="68fb5d5f10eca4ef6d525143598c2122"/><file name="phpunit_integration.rst" hash="6a86fc69be54eaa30370196d420f28be"/><file name="public_properties.rst" hash="8847df572a232fc977a9749d1db3909f"/><file name="public_static_properties.rst" hash="999d736681a32d55fb787dba308869d6"/><file name="quick_examples.rst" hash="40c04d2a0c9cd172d34d610ff25e703a"/><file name="startup_methods.rst" hash="0099706eae529ec2e22c9e4d3a067008"/></dir><file name=".gitignore" hash="cfabe0ad214e6c6fd783e8cdf15d0469"/></dir><dir name="examples"><dir name="starship"><file name="Bootstrap.php" hash="89e778ea4c9a32bc1da77432a1374ec8"/><file name="Starship.php" hash="412de862e4a465de0d97a62fca13ebfd"/><file name="StarshipTest.php" hash="3c8b4e2a4e0d1bce8e1f65a1d6a30905"/></dir></dir><dir name="library"><dir name="Mockery"><dir name="Adapter"><dir name="Phpunit"><file name="MockeryPHPUnitIntegration.php" hash="421dfdcbc9d7ec29db24df2336169f01"/><file name="MockeryTestCase.php" hash="2153bc9a2266ea0fc4ecf82caeb217b9"/><file name="TestListener.php" hash="d32aafe7efe6093f2cf41072b096392d"/></dir></dir><file name="CompositeExpectation.php" hash="c4bb3d53d529f095d1f1b0f49cdca29e"/><file name="Configuration.php" hash="8faacaa3338d3c367192cfc9473069c2"/><file name="Container.php" hash="898e8b6f315b6c12f1e2445fec6f9655"/><dir name="CountValidator"><file name="AtLeast.php" hash="3513ef53dfd185352c3880831c2e2e0f"/><file name="AtMost.php" hash="540ea5a947e28e30191fe36acc1f6fb9"/><file name="CountValidatorAbstract.php" hash="396d050207362e5caaca9dc7b8d1d270"/><file name="Exact.php" hash="afc5b0c002e5bdddc368dfaab34346bd"/><file name="Exception.php" hash="fb632c1438c388ef4a986a984c34122b"/></dir><dir name="Exception"><file name="InvalidCountException.php" hash="cb287562853431a284c516df6175eaf6"/><file name="InvalidOrderException.php" hash="b69759459001bf81a9a01e8e1aa2c01a"/><file name="NoMatchingExpectationException.php" hash="16cf188029ce08a49c7e9da591f5ec8e"/><file name="RuntimeException.php" hash="8791b65b101b95be2d1b7a544bac6c22"/></dir><file name="Exception.php" hash="adad0c3e5624ab951dbc5df87e571be8"/><file name="Expectation.php" hash="4d488931882f870fbdfe982cd2b7c898"/><file name="ExpectationDirector.php" hash="d899d3d871643c5bf67f09465040ea7a"/><file name="ExpectationInterface.php" hash="52d5fb11f9accd90009a5b6e07e42835"/><dir name="Generator"><file name="CachingGenerator.php" hash="1be561184e0905283a2c8b7e58f59607"/><file name="DefinedTargetClass.php" hash="809b6b7dc110728b72741e679aa89ea0"/><file name="Generator.php" hash="bdeec8582477fd38bbb1eeb631313eb6"/><file name="Method.php" hash="b8a4b2c99781d618b4bf6e040fead136"/><file name="MockConfiguration.php" hash="cd1d8242400f4827dec21fedfcf00922"/><file name="MockConfigurationBuilder.php" hash="466da76c4a5e45ea4ea7b2b65592f4b6"/><file name="MockDefinition.php" hash="53a302e55dab837d37c8c092fb20f115"/><file name="Parameter.php" hash="aa65ed16b3a512ff6a6e30655a7eaf58"/><dir name="StringManipulation"><dir name="Pass"><file name="CallTypeHintPass.php" hash="71b52f0896cffa31f84b37799a6d1f7f"/><file name="ClassNamePass.php" hash="fca44d919899ad86408e3cdd5427b71f"/><file name="ClassPass.php" hash="87f150f56e80749be082d5f5583cea7c"/><file name="InstanceMockPass.php" hash="00a1a7f420aff6a5508d92d5d3a802d0"/><file name="InterfacePass.php" hash="7083bc38b63afeb794dc647204ecfc7e"/><file name="MethodDefinitionPass.php" hash="64d04402814684f1e4ba5ddc37a36167"/><file name="Pass.php" hash="9025dcbb5eefafe8e024717ee2d96635"/><file name="RemoveBuiltinMethodsThatAreFinalPass.php" hash="801577a52038b35c6408c3d97fc66ff0"/><file name="RemoveUnserializeForInternalSerializableClassesPass.php" hash="2c5e6c6d26294193529b9415892d7486"/></dir></dir><file name="StringManipulationGenerator.php" hash="f38836933485c537f980aa78bc6f2970"/><file name="TargetClass.php" hash="71cc6ad3af0af7880f13a36bdb000654"/><file name="UndefinedTargetClass.php" hash="e77a9196e338619438b74e25912422d1"/></dir><file name="Instantiator.php" hash="234353be963ec468c15faa688ddfb203"/><dir name="Loader"><file name="EvalLoader.php" hash="e78584f58e2d98ca43f5508c25f64c4e"/><file name="Loader.php" hash="717fc9773450b2a05c2a2b0d3ce36d6e"/><file name="RequireLoader.php" hash="5fff1e63337e125d9fa7c41407b21b35"/></dir><file name="Loader.php" hash="defda68aff267d8cf3eb339fa5854df3"/><dir name="Matcher"><file name="Any.php" hash="b0830a3879727ca37dc33e42dc2499d6"/><file name="AnyOf.php" hash="008c46b9543eccc356c9f4bfa0a57a42"/><file name="Closure.php" hash="24dd559cff30ede2304b6374e5c660cf"/><file name="Contains.php" hash="e7686c2aac50ad5a8b7534a16fb6da3d"/><file name="Ducktype.php" hash="c7f23569993451fd00721b2791a78635"/><file name="HasKey.php" hash="03c4b2dab8d4be6ff60c12fa1fef58cb"/><file name="HasValue.php" hash="49b3e4d6d28ffa677337f31f4e6df077"/><file name="MatcherAbstract.php" hash="66421fc5fb62c86547c5a79aebcc1a53"/><file name="MustBe.php" hash="aac317dad2453fa7837b41237e09c951"/><file name="Not.php" hash="95baa5603a26657dd68f84e96cb1f295"/><file name="NotAnyOf.php" hash="f03cf71896cee7fe0dacdc15c35bf389"/><file name="Subset.php" hash="d2cee82956caf857f6315eb371ddb271"/><file name="Type.php" hash="be63ec1b6361890437e11bd1b876e0de"/></dir><file name="MethodCall.php" hash="294e8c08ea585441a738d34afc64f3b3"/><file name="Mock.php" hash="8f7200d51dac3a7c5a3d56df2938a560"/><file name="MockInterface.php" hash="09977fdeafdc9dea1182935533c1118e"/><file name="ReceivedMethodCalls.php" hash="f7294cac89790bd2010ed0f719863360"/><file name="Recorder.php" hash="0959661a1af0b8d54a7bae2a551181d2"/><file name="Undefined.php" hash="0c5846eeb8ac9eb14aac3ac750ad9561"/><file name="VerificationDirector.php" hash="cdf84194e9bbebdf80e9227186565ba8"/><file name="VerificationExpectation.php" hash="5eb0cf8f3472dedd3b901a036ca5b41c"/></dir><file name="Mockery.php" hash="8245a9089d30a5b788cdb9be3299596c"/></dir><file name="package.xml" hash="5b79429d745e9b7f22fcae11cc3c35e5"/><file name="phpunit.xml.dist" hash="f2691194fb60dc4d647df5c8a1daa09c"/><dir name="tests"><file name="Bootstrap.php" hash="d5056134c17a74c8aea26d90ff2f5921"/><dir name="Mockery"><file name="AdhocTest.php" hash="6d17e3ac3942d7eab918f0ceee07b83c"/><file name="ContainerTest.php" hash="c19843822b5f5c9f6cbad69183a372ac"/><file name="DemeterChainTest.php" hash="26df1db2554ac3572bb613ee0a1359c1"/><file name="ExpectationTest.php" hash="4d70d387fac579de6bfb3e654400972b"/><dir name="Generator"><file name="DefinedTargetClassTest.php" hash="d6c78364db6e153af721651ef7be5d3d"/><file name="MockConfigurationTest.php" hash="41b757ad0a9981b23b525c35958db57d"/><dir name="StringManipulation"><dir name="Pass"><file name="CallTypeHintPassTest.php" hash="78af5dbd0c7f8b1e19ede0cfe975f3a5"/><file name="ClassNamePassTest.php" hash="4118fd42dcbdbcf5d10b004c6d9c368a"/><file name="InstanceMockPassTest.php" hash="37a05d43e58bee04ac8c62d149e2a839"/><file name="InterfacePassTest.php" hash="462a7610976818047c5c05c32074b671"/></dir></dir></dir><file name="HamcrestExpectationTest.php" hash="7ce8f14e097c16607accd37d1c4218c3"/><dir name="Loader"><file name="EvalLoaderTest.php" hash="172beec6995a849bd6c294f5f00238aa"/><file name="LoaderTestCase.php" hash="e56284822e7ee7c134e04a41ca67bf9c"/><file name="RequireLoaderTest.php" hash="d6727708217101d7d0c562632246af5c"/></dir><file name="LoaderTest.php" hash="c1163c3e75198f4afd6a4f7aa5a6ee73"/><file name="MockClassWithFinalWakeupTest.php" hash="bd041cff883a938a4280c2d8bc528ab5"/><file name="MockClassWithUnknownTypeHintTest.php" hash="bcad8d0a96fac9d2d4b1a53e2f3fd639"/><file name="MockTest.php" hash="570050d0b10458966edeba09f26d1623"/><file name="MockeryCanMockMultipleInterfacesWhichOverlapTest.php" hash="df067d6c40da6bb52f6ed91ade86cc8d"/><file name="MockingParameterAndReturnTypesTest.php" hash="39fccf7f62b328cc6e5fe643e2cad151"/><file name="MockingProtectedMethodsTest.php" hash="ecc788416db0788e3b8c43a0a66cf810"/><file name="MockingVariadicArgumentsTest.php" hash="b82e5efab8d66d02e0ba49246ac7a080"/><file name="NamedMockTest.php" hash="335036dc365f277550a29c62cbafe438"/><file name="RecorderTest.php" hash="1f77eedbd398ae1157aa250c6581c3d7"/><file name="SpyTest.php" hash="673d4e6d1594cbe85d1930ce1502776d"/><dir name="Test"><dir name="Generator"><file name="MockConfigurationBuilderTest.php" hash="4e43d991d4df64d4eb1f698cc1f4d09b"/></dir></dir><file name="WithFormatterExpectationTest.php" hash="85d35905a118d7ffd60d6a3e6297e7d0"/><dir name="_files"><file name="file.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></dir><dir name="travis"><file name="extra.ini" hash="ab8eb331f7221256598c5db89b8e4136"/></dir><file name=".coveralls.yml" hash="15068557cc783628f3d4ffb7e62a98d7"/><file name=".gitignore" hash="d08994f6ec9026c36051405c25a282d7"/><file name=".php_cs" hash="24d35fa95e5588f21e7554122423f3e2"/><file name=".scrutinizer.yml" hash="de3040c060fee5ffabf815590adedd2a"/><file name=".styleci.yml" hash="fb0cbdd49f8ac238ab88e439da3cbad7"/><file name=".travis.yml" hash="5fc61505f83d13dad68cb8bcb7be651c"/></dir></dir><dir name="nesbot"><dir name="carbon"><file name="LICENSE" hash="eb00004b73e7708520f412c4dddbf3e3"/><file name="composer.json" hash="1c3590c51a3a3bb65abfd44927b6fc15"/><file name="readme.md" hash="a17fe76e20657b759e0d58f3207d6355"/><dir name="src"><dir name="Carbon"><file name="Carbon.php" hash="d8799630685f260fcd814dae42530f9b"/><file name="CarbonInterval.php" hash="4904f4edd96806abc3a2bfaabe41ee31"/><dir name="Lang"><file name="af.php" hash="156ed4f4370dd12b89beae267d72f520"/><file name="ar.php" hash="4d3977cd081ffa3e13932b9eb0959d75"/><file name="az.php" hash="12873c1cac4edf35e423aede576b0f31"/><file name="bg.php" hash="7eca783b19695ef10e056ba78196842b"/><file name="bn.php" hash="83dc0dd78aa63ed5613990d5b6914d25"/><file name="ca.php" hash="a25bcdaea6213b5baf5beedb7d2dda77"/><file name="cs.php" hash="e4b86c05b2e01eef8d0e6d7c08b9388b"/><file name="da.php" hash="5f684260c8ec53890f5dc30a5c55625c"/><file name="de.php" hash="8426243418b949883a09f1cff261fc31"/><file name="el.php" hash="42428f6e6723562a2ece232bd60b4c07"/><file name="en.php" hash="c7c22f2c2c58921873a5c8a09ace692d"/><file name="eo.php" hash="3a90520bd9a17d6cfcab4cd02ee4ab0b"/><file name="es.php" hash="ebc0e9587896a624f46c0a389242d3ce"/><file name="et.php" hash="92fdbc19166f8c927787d0814843fe81"/><file name="eu.php" hash="bde2c6a9bc10526bd5d4caf5837b243d"/><file name="fa.php" hash="e746fb8d2053c1cd6b73a326ea7effc5"/><file name="fi.php" hash="71b66415417677a41f55246bd93d2a69"/><file name="fo.php" hash="cd4437e7d487f47cca9f28e54405b2e5"/><file name="fr.php" hash="67f1596a2e1da0d0d1cdfe2e9d445b14"/><file name="he.php" hash="3e68c6c67fba853571e97292c305ce54"/><file name="hr.php" hash="617652591e37e0651a5fff2c1a3b1d74"/><file name="hu.php" hash="ebec07868a3383a2c53b91723cc1bcdc"/><file name="id.php" hash="9739ab653b213dd712d40f5fd6e4d458"/><file name="it.php" hash="fe471c04e648e2added65b8a26eb703c"/><file name="ja.php" hash="42dff56b5010c2d3bfacfd6c256859f0"/><file name="ko.php" hash="f1997288ecea89310a6c99adebabead6"/><file name="lt.php" hash="837807bc9ed1e60e9edecd058d85fc56"/><file name="lv.php" hash="cd8ede8f5b3726f886d75026e071a372"/><file name="ms.php" hash="a87f103c24f534892751ced33535b22a"/><file name="nl.php" hash="d87ca11b15a55bb6a4f766757f607fb6"/><file name="no.php" hash="3d3af8931e921a70f7f9757f8e5d0c8e"/><file name="pl.php" hash="84515ee83c0a31e4879d9a9776846bf3"/><file name="pt.php" hash="a0155f85beda373e0186728cf0ce66f9"/><file name="pt_BR.php" hash="3777b772ac61d182236d516f864deca8"/><file name="ro.php" hash="e1aec4e29e532c511c667dbdad739b0c"/><file name="ru.php" hash="19c9dcd3575bebe7a684ffc417b22ca5"/><file name="sk.php" hash="0f6193d99136e7f121ebd636a4137f70"/><file name="sl.php" hash="36fd62014fc8288d3ae43b0aa7c183a8"/><file name="sq.php" hash="07b7f4037192b541330d02e5be557834"/><file name="sr.php" hash="adf1a7dea27daf3e7a84a580dde90d0c"/><file name="sv.php" hash="2eabf42f973e0c729043da9583fa36ac"/><file name="th.php" hash="44aa4be793026a20e54475d9f5dedebe"/><file name="tr.php" hash="ed6d8beb13f38d92394a2a01dca3a0e1"/><file name="uk.php" hash="864d8dcdd0ac97202295d640c217ab5f"/><file name="uz.php" hash="89817d2f97716a71798ec9608d1cfa30"/><file name="vi.php" hash="0957e44cbfd50527dfce997d93a82ad5"/><file name="zh-TW.php" hash="d63724f09161b6494f08f4cbcbf8293b"/><file name="zh.php" hash="4bd71945d5e0f07e6630368c0ecdb17b"/></dir></dir></dir></dir></dir><dir name="paragonie"><dir name="random_compat"><file name="LICENSE" hash="5c1048c9d62123819aa63e62e1578be6"/><file name="composer.json" hash="66d6e1a4d9eb2f73db2b4efd0ea24f49"/><dir name="dist"><file name="random_compat.phar.pubkey" hash="36dae3cf3fd10ae5093aaec29b7b5125"/><file name="random_compat.phar.pubkey.asc" hash="3ec788adbb0519a92243e569789cfcb9"/></dir><dir name="lib"><file name="byte_safe_strings.php" hash="c45b101242d2a3c84adad48801c21b3b"/><file name="cast_to_int.php" hash="00b201759da2a7d6508ac65070eb4344"/><file name="error_polyfill.php" hash="583a2c948d745d37af3dc1fc51a2e145"/><file name="random.php" hash="0fb535267d6bd2eb1fe9210c36bb2493"/><file name="random_bytes_com_dotnet.php" hash="6e4d403cdfdb4136c21840218159e0e7"/><file name="random_bytes_dev_urandom.php" hash="9716ae64cafdefaf05e8d8ed1a4872db"/><file name="random_bytes_libsodium.php" hash="349190eee5edbbdfd58fb3e5640617df"/><file name="random_bytes_libsodium_legacy.php" hash="216957fe75eb2f68441702d929e9e5f8"/><file name="random_bytes_mcrypt.php" hash="b78a54ff0fd4a6ca9960b550a7a54c14"/><file name="random_int.php" hash="cf453b69583509231c8778aa3a11c12a"/></dir><dir name="other"><file name="build_phar.php" hash="938323773ab0732a3d3ce0a6f3df8493"/></dir><file name="psalm-autoload.php" hash="854df6f8851cae85add168c7a682a24a"/><file name="psalm.xml" hash="51595bcc3a32e2273b105150a70a1489"/></dir></dir><dir name="phpdocumentor"><dir name="reflection-common"><file name="LICENSE" hash="fbd8b4962da164012cc5ed522dd6827a"/><file name="README.md" hash="bb6afcf6df22e8dcb3098d2dc69c0973"/><file name="composer.json" hash="b2585667aa00cf5a68b7d4c38f12933b"/><file name="composer.lock" hash="89996c602b17eb2cc3d704fb877468b5"/><file name="phpunit.xml.dist" hash="46020bd8f875e0956f44913a9e9512b4"/><dir name="src"><file name="Element.php" hash="904562dece9ddfbb57d57ee72ed9ab10"/><file name="File.php" hash="b510e8439f477690270a65c3bde12174"/><file name="Fqsen.php" hash="e2fb01d3760b3dbd9175ea55e1ebe3d4"/><file name="Location.php" hash="d1e457ea2feb3b88cae1d8da02344290"/><file name="Project.php" hash="2f2f12a2393d303f8550be3d06de9f69"/><file name="ProjectFactory.php" hash="f4b552154463bb08532a0769bda8c373"/></dir><dir name="tests"><dir name="common"><file name="bootstrap.php" hash="68bc0a23fbd5a200ffadecb6e3b018f4"/></dir><dir name="unit"><file name="FqsenTest.php" hash="4b6e461b109f9b9804b20b632db45976"/></dir></dir><file name=".gitignore" hash="a3302d3eabbf63b2398b3f5154d01423"/></dir><dir name="reflection-docblock"><file name="LICENSE" hash="7bad6f67feb4324e1b8e6127e09194a3"/><file name="README.md" hash="5f69952a9450b171660c9de6f5a765fd"/><file name="composer.json" hash="9dfabded4193c3fd2ec85874de3b2e3c"/><file name="composer.lock" hash="987bdef409f8f22da43ec849147c2983"/><dir name="examples"><file name="01-interpreting-a-simple-docblock.php" hash="c68e2d565931b588def81d11b4496727"/><file name="02-interpreting-tags.php" hash="d2a6c046e4f604362027c7eb2d5b0ee4"/><file name="03-reconstituting-a-docblock.php" hash="1d9b76e2c42f088bc777483cb5d6e80a"/><file name="04-adding-your-own-tag.php" hash="5beac25c610d3ea53bde22733dbaa6bc"/><dir name="playing-with-descriptions"><file name="02-escaping.php" hash="6ad07caecb74acdc4aa788879a14e357"/></dir></dir><file name="phpmd.xml.dist" hash="d8aa3b55ef832f337aaf81f189ccfb99"/><file name="phpunit.xml.dist" hash="e009db8aa201519ad41422f5f79e0e39"/><dir name="src"><dir name="DocBlock"><file name="Description.php" hash="0866450cb0489e3b5806560298d99afe"/><file name="DescriptionFactory.php" hash="5bdb0cd31370e1156b91bf4409292a2e"/><file name="ExampleFinder.php" hash="b17947bea92cba87a04a29b23fcafaf0"/><file name="Serializer.php" hash="84a0c716385bc5ab84d29e53b883011b"/><file name="StandardTagFactory.php" hash="ca85676e19ceec84553b44498f92e1ff"/><file name="Tag.php" hash="489fcf11518e68285fc42612ac0e5da2"/><file name="TagFactory.php" hash="7d75fb3bc0dde23ebaa7d5331c115059"/><dir name="Tags"><file name="Author.php" hash="68439f31f9915fe5e7d608ec38f2a22a"/><file name="BaseTag.php" hash="c246ee0fc86099af6287d19c557d1a15"/><file name="Covers.php" hash="c24290085b22ddb7895918d8fe1cf290"/><file name="Deprecated.php" hash="baedfffc5806767816aec4d59ba64ad2"/><file name="Example.php" hash="26bb1c954f30441f13d986fed2afbbfc"/><dir name="Factory"><file name="StaticMethod.php" hash="38e9f78787c3ddb47c64f564235a9f63"/><file name="Strategy.php" hash="26e283bc215bf2ae5acc7d279f76701b"/></dir><dir name="Formatter"><file name="PassthroughFormatter.php" hash="029362b9e359103841b035fe2cae2856"/></dir><file name="Formatter.php" hash="262b87c1ffed87247538a0d3ea989a72"/><file name="Generic.php" hash="d3052483ffbbed0e4d9c811328236041"/><file name="Link.php" hash="ba1224d4dbd5d6c314fec27a5972e97a"/><file name="Method.php" hash="b442661f49231422149c71e40b38bfab"/><file name="Param.php" hash="68fb4cda393f63c252b78b31f0ce6fbb"/><file name="Property.php" hash="48bdfb8051b95a5ab6ee8314a876fda0"/><file name="PropertyRead.php" hash="1287d3f27ed576d53a91a86d049eefcc"/><file name="PropertyWrite.php" hash="b4ad01450fe0037fb0e57bf14cd4a871"/><file name="Return_.php" hash="4fdf306d4a0fc033f96c64603d10e4e8"/><file name="See.php" hash="151fefe962d3d028e81fe3f02468a81b"/><file name="Since.php" hash="8fe6a8bb868d523a23fe41f6659e3f64"/><file name="Source.php" hash="aae9cb432cd4efde0711894293f6232b"/><file name="Throws.php" hash="282bfe169b437d12ebf770e2613acc54"/><file name="Uses.php" hash="72b9760115f6c19cb6cd23b0ef83887f"/><file name="Var_.php" hash="18c9b2a8926e034be0e5fead301478c6"/><file name="Version.php" hash="2659ed445444c8366fc25f1ea01cbf16"/></dir></dir><file name="DocBlock.php" hash="b6c418cf1f7ae2fff7b91e8b80f7e9a5"/><file name="DocBlockFactory.php" hash="be536c5bca540267074698bc288852a3"/><file name="DocBlockFactoryInterface.php" hash="27b842720f1244d7493a561bbe335390"/></dir><dir name="tests"><dir name="integration"><file name="InterpretingDocBlocksTest.php" hash="6cb442d45986a2c05f679cd978de328a"/><file name="ReconstitutingADocBlockTest.php" hash="a5024416b09e68e2bfd0894d30778d0b"/><file name="UsingTagsTest.php" hash="183e3a68c85050fc1f3239652f453b90"/></dir><dir name="unit"><dir name="DocBlock"><file name="DescriptionFactoryTest.php" hash="f7affc93771d9c1c102724972409d588"/><file name="DescriptionTest.php" hash="943dc776c811d7cc69e3fec1c3abba27"/><file name="SerializerTest.php" hash="95592417f741251aeea2cc9454f80e4b"/><file name="StandardTagFactoryTest.php" hash="58b3a4908d475aa70b7fb434213fa3a3"/><dir name="Tags"><file name="AuthorTest.php" hash="7ec06bc903962e8807babb538da748e7"/><file name="CoversTest.php" hash="83999273e6d7f347d2608f996a8bfb56"/><file name="DeprecatedTest.php" hash="0719811151cf5b1e3e8afeea83a58da9"/><dir name="Formatter"><file name="PassthroughFormatterTest.php" hash="36bc8dc1d33e7cfa0d2ba3b328108aba"/></dir><file name="GenericTest.php" hash="86cc0c0b34a4215b5f8c1b99bf6b3dae"/><file name="LinkTest.php" hash="512ca8d4314032fdf8eb74bdebc12d12"/><file name="MethodTest.php" hash="908c9764c69861e377d2f2b1599207f1"/><file name="ParamTest.php" hash="cad1c550a65dc3735aa43aa9d07f9007"/><file name="PropertyReadTest.php" hash="be609ad5e75379ef924f79236d3ba786"/><file name="PropertyTest.php" hash="eb0167f521132985f22df255b93a63a4"/><file name="PropertyWriteTest.php" hash="e275be2fd1972a24cdfbbff6c3e47d5f"/><file name="ReturnTest.php" hash="20064e5b561627997e344fca16fdeef0"/><file name="SeeTest.php" hash="e8b887752b452e6001d2dc9786e5c452"/><file name="SinceTest.php" hash="23b61137eead27843195287a38f8ad6b"/><file name="SourceTest.php" hash="c0d61846b47a85fc3298349279cecc6f"/><file name="ThrowsTest.php" hash="49e0dfe0b85da9c3a49192cb6bcb3036"/><file name="UsesTest.php" hash="92d2ac04734c79bb4f1792a28ea5a748"/><file name="VarTest.php" hash="45a534d50498973b498b0ea7477b2647"/><file name="VersionTest.php" hash="64bac5230171424db244eab8fa661952"/></dir></dir><file name="DocBlockFactoryTest.php" hash="da40f926ef792960210739a40a2634e7"/><file name="DocBlockTest.php" hash="65338fb84a66f2fc381c40104e4afc83"/></dir></dir><file name=".gitignore" hash="ada3b572897ab66697162ec5005ec0d1"/><file name=".scrutinizer.yml" hash="4c2ab48e19dd721215d5a4671bb45ee6"/><file name=".travis.yml" hash="6eb8d83976a1dde1ea6b8841b951a1e5"/></dir><dir name="type-resolver"><file name="LICENSE" hash="7bad6f67feb4324e1b8e6127e09194a3"/><file name="README.md" hash="5748a57d3f235a37ee72661341e9e321"/><file name="composer.json" hash="2026c2be1ba200f852b612f6a29b19fe"/><dir name="examples"><file name="01-resolving-simple-types.php" hash="20031aaa7a902f18945e27f7c16bd548"/><file name="02-resolving-classes.php" hash="6c91c01d997bb9d7cc52b503da71328d"/><file name="03-resolving-all-elements.php" hash="fca6448a5630068a6b4bfeef9a161188"/><file name="04-discovering-the-context-using-class-reflection.php" hash="3ac1e71c7740bf9fbf0474d807cd3a31"/><file name="05-discovering-the-context-using-method-reflection.php" hash="7ec7109ceae03df85f99200ae9bf0302"/><file name="06-discovering-the-context-using-file-contents.php" hash="e03119e14211cf7aa8f121536715b3b9"/><file name="Classy.php" hash="1d732176f1eaba58a7cc434512141843"/></dir><file name="phpmd.xml.dist" hash="d8aa3b55ef832f337aaf81f189ccfb99"/><file name="phpunit.xml.dist" hash="d529e38ebff9bcf9e96f589eec173500"/><dir name="src"><file name="FqsenResolver.php" hash="522303a67bd799d8a7c05c8751984a14"/><file name="Type.php" hash="b304aa06bc84f451cf2d84479778d522"/><file name="TypeResolver.php" hash="c31e6e25cdb576dc925d464555721ae9"/><dir name="Types"><file name="Array_.php" hash="86615681faf9018b0ff00f984d8ee66e"/><file name="Boolean.php" hash="5c6684035b4d269bff79c149626937e7"/><file name="Callable_.php" hash="fe911f0c59afe3456f371145faa4c74b"/><file name="Compound.php" hash="4317f296c55088c2876473b3d95bcbdc"/><file name="Context.php" hash="75c655fdaf87a3825988d5bb8669c6bc"/><file name="ContextFactory.php" hash="946797e635f0af4f2c3df90eeab9a4a7"/><file name="Float_.php" hash="aa7bb7d9a56a59c028a5fd6aaf94c929"/><file name="Integer.php" hash="b9781dcdc7b43d466ee815c140ed2d9d"/><file name="Mixed.php" hash="e233960be5ff5de1ba8032c92b85866d"/><file name="Null_.php" hash="d7903478a277db0b117ded9e47bb25e3"/><file name="Object_.php" hash="eaf4ea19c78df8875e5a8687e166cf41"/><file name="Resource.php" hash="4e285b873cf519642110bf0866459ce7"/><file name="Scalar.php" hash="b59c5bf8aff3420c957646ace9c2b341"/><file name="Self_.php" hash="17a6bd6739b1a7d38f61021b0cf75882"/><file name="Static_.php" hash="346bee9ab7c118940318d08e2b663025"/><file name="String_.php" hash="36724cdfed7311500db70b0509e40c3a"/><file name="This.php" hash="ef6647048c74f2ea0ba197ca3de35205"/><file name="Void_.php" hash="8ccb904a913a71256c8a0786dbbbb32f"/></dir></dir><dir name="tests"><dir name="unit"><file name="TypeResolverTest.php" hash="3c0738e8d53404da5b1e87d2d94002aa"/><dir name="Types"><file name="ContextFactoryTest.php" hash="0c77c76627a4822aae565d8b8fc02a6e"/><file name="ContextTest.php" hash="d9278cea7b133ec13d31c02e97bbb72a"/></dir></dir></dir><file name=".gitignore" hash="531296bc8405cb0dfbed086dc5619783"/><file name=".scrutinizer.yml" hash="5c388ca383d365727aae314428dfca8c"/><file name=".travis.yml" hash="f4d4b6a3096456823be266726e6026f0"/></dir></dir><dir name="phpspec"><dir name="prophecy"><file name="CHANGES.md" hash="c61368e02fdaff2e46aebda61b0a4865"/><file name="CONTRIBUTING.md" hash="40883eb9fc424fb2c861d168e01ae653"/><file name="LICENSE" hash="919ed3cf53f990487db45922626b96de"/><file name="README.md" hash="61d6fd6297734348ad314fd360722f28"/><file name="composer.json" hash="ddf64a9f186a1ad3b52d72a750df48fa"/><dir name="spec"><dir name="Prophecy"><dir name="Argument"><file name="ArgumentsWildcardSpec.php" hash="4a6ea9d02a9f7001715d5b9e4efc4c70"/><dir name="Token"><file name="AnyValueTokenSpec.php" hash="70a02114a985b57047fdfc7333379339"/><file name="AnyValuesTokenSpec.php" hash="cb38ed32526ac4b44c7d8c7a1b43c921"/><file name="ApproximateValueTokenSpec.php" hash="696b383ad7f768322baa2c4b86b975bc"/><file name="ArrayCountTokenSpec.php" hash="c9131633e598c056395907c92563fb96"/><file name="ArrayEntryTokenSpec.php" hash="faffb33355b44058c47f9be7684c9128"/><file name="ArrayEveryEntryTokenSpec.php" hash="ce1b7e054abc233f171adcfdc5bed431"/><file name="CallbackTokenSpec.php" hash="43ad4ed339231f974ed603125dbe2879"/><file name="ExactValueTokenSpec.php" hash="4e08c4312b74347e2058c507d748a022"/><file name="IdenticalValueTokenSpec.php" hash="f44fd460b6142e8c24774373844b44bd"/><file name="LogicalAndTokenSpec.php" hash="bec75816e85c41d21ed119bd7b118c6e"/><file name="LogicalNotTokenSpec.php" hash="419959907c6610d787882faa550317b4"/><file name="ObjectStateTokenSpec.php" hash="440eb9e79046e3233871aad3bbac3434"/><file name="StringContainsTokenSpec.php" hash="09ad56adbe934f0d2fe2dde4e6c64cd3"/><file name="TypeTokenSpec.php" hash="b5a86f8decff1b9fb3c4a571e7c5c118"/></dir></dir><file name="ArgumentSpec.php" hash="afeb64de3c51a7ffa77c9e3e92481673"/><dir name="Call"><file name="CallCenterSpec.php" hash="f348ae7f5d6380a6580c1118834e31ed"/><file name="CallSpec.php" hash="6393808a8f191fada7adffbb1fa1beec"/></dir><dir name="Comparator"><file name="ClosureComparatorSpec.php" hash="e8d0fcd91e28fc6db0b26336eaab0181"/><file name="FactorySpec.php" hash="ace944d00bb0b3e9739d7fe7d00ad766"/><file name="ProphecyComparatorSpec.php" hash="d5d669bc5cfe91298ada3dc488cf501e"/></dir><dir name="Doubler"><dir name="ClassPatch"><file name="DisableConstructorPatchSpec.php" hash="cbc9f50796e55dd7e5d6d448ff95201d"/><file name="HhvmExceptionPatchSpec.php" hash="84cc0ff40b3db2192b9504a0481f0025"/><file name="KeywordPatchSpec.php" hash="5c1bd0e3078725aca714f2ec789172c3"/><file name="MagicCallPatchSpec.php" hash="d5e267f1039663d148f5a701954a6cbe"/><file name="ProphecySubjectPatchSpec.php" hash="aae4e8571ec35c24ed2a6568cba6dddc"/><file name="ReflectionClassNewInstancePatchSpec.php" hash="1c0f31e51d7ca727edd249238ed7331f"/><file name="SplFileInfoPatchSpec.php" hash="0da04bbd1003b49dd8c6d8308a0df822"/><file name="TraversablePatchSpec.php" hash="947742aabcdffa995dec7019dd53c083"/></dir><file name="DoublerSpec.php" hash="47dd02c1047f84a1db556128f6bcd298"/><dir name="Generator"><file name="ClassCodeGeneratorSpec.php" hash="759daf8fe1e0c6befc525faf3170e438"/><file name="ClassCreatorSpec.php" hash="9f63541614299ec4f7879fa55d6294ff"/><file name="ClassMirrorSpec.php" hash="286146bd32c2b5d400673147d96e4223"/><dir name="Node"><file name="ArgumentNodeSpec.php" hash="affa3671fb35c5dc39a9a3e57c9a595a"/><file name="ClassNodeSpec.php" hash="91e20215f0eec7743d5fc3b1506a5248"/><file name="MethodNodeSpec.php" hash="dd7f23b31c438d3d5ab9de83a10eb48c"/></dir></dir><file name="LazyDoubleSpec.php" hash="11e7e2dfc015cd2b824f5b741422e9c3"/><file name="NameGeneratorSpec.php" hash="2fc48ac6fd45eabcff361c21001a4c52"/></dir><dir name="Exception"><dir name="Call"><file name="UnexpectedCallExceptionSpec.php" hash="8a505a7c2b2db9f0e83e92a8dc273d84"/></dir><dir name="Doubler"><file name="ClassCreatorExceptionSpec.php" hash="f63eb6b199780eec5ac4d439e3317fb2"/><file name="ClassMirrorExceptionSpec.php" hash="9aa64b11387c15b9a2d37695e71ee8ea"/><file name="ClassNotFoundExceptionSpec.php" hash="d00eff3b7ad1507fdfd53f6bbba37335"/><file name="DoubleExceptionSpec.php" hash="56935e0474c8203b5e486b2b76c991c8"/><file name="InterfaceNotFoundExceptionSpec.php" hash="8946a0f8ce397e6ec115ddbbe68d36dd"/><file name="MethodNotExtendableExceptionSpec.php" hash="17a9ee9b6cce26e0841a17a142b203a4"/><file name="MethodNotFoundExceptionSpec.php" hash="97a24a63e003d1f01e946f501d760a1d"/></dir><dir name="Prediction"><file name="AggregateExceptionSpec.php" hash="57eb0117c6bf79027b5c0089dfb4de45"/><file name="NoCallsExceptionSpec.php" hash="9c518b57191d3eb4f2658dac9e7e0248"/><file name="UnexpectedCallsCountExceptionSpec.php" hash="f07a8276b11b5fc25de42aedf2bc980b"/><file name="UnexpectedCallsExceptionSpec.php" hash="47c7fd3523446d94f398566864f4917f"/></dir><dir name="Prophecy"><file name="MethodProphecyExceptionSpec.php" hash="ef8f2563cb2e5574ae29677c507c64a3"/><file name="ObjectProphecyExceptionSpec.php" hash="621e68c594d89e3981d8b9d0a114a382"/></dir></dir><dir name="Prediction"><file name="CallPredictionSpec.php" hash="2f47b35b870e90b4934b4b6c01c08b18"/><file name="CallTimesPredictionSpec.php" hash="87c3f4646d6abc6b56c4106ce315eefa"/><file name="CallbackPredictionSpec.php" hash="7f28947cd074850f2eb0c056b531e344"/><file name="NoCallsPredictionSpec.php" hash="1f45dd7fea04568a9900e64eb0833747"/></dir><dir name="Promise"><file name="CallbackPromiseSpec.php" hash="22e89a7519df518b530a6cf703696020"/><file name="ReturnArgumentPromiseSpec.php" hash="35ab534957dfd53e05f59c1fb955fcb9"/><file name="ReturnPromiseSpec.php" hash="571122677f1144d46c71bd20e761c588"/><file name="ThrowPromiseSpec.php" hash="2dfe9d131de22ee63d8c8944d03b41f6"/></dir><dir name="Prophecy"><file name="MethodProphecySpec.php" hash="8b5b1968d55c997fe4b5de83e9e11269"/><file name="ObjectProphecySpec.php" hash="fca18183e24e91f751b66460d3121dee"/><file name="RevealerSpec.php" hash="d47860550d707fc4bfba84ab31de5fc5"/></dir><file name="ProphetSpec.php" hash="5119ac6ffefff21334dadbda5c5bfd02"/><dir name="Util"><file name="StringUtilSpec.php" hash="904154b4244579fe18e1e1600263ab96"/></dir></dir></dir><dir name="src"><dir name="Prophecy"><dir name="Argument"><file name="ArgumentsWildcard.php" hash="a2752f7d812ec1afe49b5ad06046374c"/><dir name="Token"><file name="AnyValueToken.php" hash="c6e9b1489a9a2ecf3186e13ad4613ef4"/><file name="AnyValuesToken.php" hash="2b30b8634482f3658bbb0d85b9b11627"/><file name="ApproximateValueToken.php" hash="ca3558a2a46eb22b52bf8b0de8e72763"/><file name="ArrayCountToken.php" hash="bc55ee319544e31a5ea4d1a27743f429"/><file name="ArrayEntryToken.php" hash="6c7dc2aa692d3d235bfcfd31d7e7039f"/><file name="ArrayEveryEntryToken.php" hash="30fec959e702239a60fb1d09218dfa04"/><file name="CallbackToken.php" hash="4ab2d7ebda942ba3e3ca460c3f1af533"/><file name="ExactValueToken.php" hash="ecef482fae7271fb32c40d78f8cd5a50"/><file name="IdenticalValueToken.php" hash="d2ee5490e286d64a4e4d8be7309b0d71"/><file name="LogicalAndToken.php" hash="f70ad55d497f8a8c17a55603305101d2"/><file name="LogicalNotToken.php" hash="a06aed5b21a24c30ad57d24681f53111"/><file name="ObjectStateToken.php" hash="02c3ca2228ed337ad57ddb37007549c1"/><file name="StringContainsToken.php" hash="660125e94561554becef2a22d9bc5053"/><file name="TokenInterface.php" hash="941b2cfd84f218da6150a464bdb245f6"/><file name="TypeToken.php" hash="ea7ae855d1f286ebd81be4eb38a9e83e"/></dir></dir><file name="Argument.php" hash="20eb0599f9a830e7bbc5a59c8d8adbeb"/><dir name="Call"><file name="Call.php" hash="0f98b2bcd0a539b162ca34d76020aa06"/><file name="CallCenter.php" hash="ccc2e2190bddf66f61413c06e5ef8b52"/></dir><dir name="Comparator"><file name="ClosureComparator.php" hash="4bc7ba6bb46abc6b7b572f7d525f7af7"/><file name="Factory.php" hash="44ea79304da493aeab86032ccaa4807b"/><file name="ProphecyComparator.php" hash="9f6358effa1f179f9618d3fa531cd98b"/></dir><dir name="Doubler"><file name="CachedDoubler.php" hash="9b3b7f48f3b24640c811df2006939522"/><dir name="ClassPatch"><file name="ClassPatchInterface.php" hash="0b873f434af0e0c5ab3a62cbb017343d"/><file name="DisableConstructorPatch.php" hash="2b347ee4708a1f321350fb7aedd96236"/><file name="HhvmExceptionPatch.php" hash="7a247d98ecfb8d51d44b068ccd3225ca"/><file name="KeywordPatch.php" hash="c7af0785fced3518102446cbfa5cbdd5"/><file name="MagicCallPatch.php" hash="9c1e686cc08f13b66fb96493d02c0143"/><file name="ProphecySubjectPatch.php" hash="6fa1a235fff80c4f3821ffa418687fe0"/><file name="ReflectionClassNewInstancePatch.php" hash="e8eb719b406b30991133025ad40bc715"/><file name="SplFileInfoPatch.php" hash="fed271da5e6cd55caf6f84b09d33a829"/><file name="TraversablePatch.php" hash="fd9aec94fddedde0d61ad2a3deee568e"/></dir><file name="DoubleInterface.php" hash="369868b9a1e9fab4189de24b8ea5839b"/><file name="Doubler.php" hash="fe225a7199c78fe6520fc639b31cd483"/><dir name="Generator"><file name="ClassCodeGenerator.php" hash="04d1510db6752469045d559f8790bc49"/><file name="ClassCreator.php" hash="d1989f7ab452dbf19a377b34da4ceacf"/><file name="ClassMirror.php" hash="5fd73ac946264f584f8092b67aa18b91"/><dir name="Node"><file name="ArgumentNode.php" hash="1388150aa28872b38c6ed213354806a4"/><file name="ClassNode.php" hash="9de7d7302a15fc5b9f1544f65310d9c1"/><file name="MethodNode.php" hash="cb32fa3845a2f1f468b8bd28a5cbdc23"/></dir><file name="ReflectionInterface.php" hash="8b80045be0c63010c3f899ea445d3fa5"/></dir><file name="LazyDouble.php" hash="c8999a3aa65e0c40f031a620fe5d39b9"/><file name="NameGenerator.php" hash="675d79e3e73296fab242c55192764eca"/></dir><dir name="Exception"><dir name="Call"><file name="UnexpectedCallException.php" hash="ddf78c90b22dc5fe213b8317c7462298"/></dir><dir name="Doubler"><file name="ClassCreatorException.php" hash="171c1c34e223bbda73300a5a159f41c7"/><file name="ClassMirrorException.php" hash="354d46dc765fc4aabb05ee70e6dd3c11"/><file name="ClassNotFoundException.php" hash="889e683cdccabf66c6ac7ec1ab303b44"/><file name="DoubleException.php" hash="dfa65e87b9f7fb92116a3fed91c9a034"/><file name="DoublerException.php" hash="16d130d5f7ef4ae8d0e8043cb48810c0"/><file name="InterfaceNotFoundException.php" hash="9956f64cac35ddcd953b3bee60c915ca"/><file name="MethodNotExtendableException.php" hash="c312b622e4e537509bb4b72f97fbc05b"/><file name="MethodNotFoundException.php" hash="135761777a5478f378375c4a2815e358"/><file name="ReturnByReferenceException.php" hash="89da440368b083e37dd7fe98b67368ec"/></dir><file name="Exception.php" hash="ce16b11ca21874b8793642cbabf44e8e"/><file name="InvalidArgumentException.php" hash="29a9b630e333b5285be597cd99670ddb"/><dir name="Prediction"><file name="AggregateException.php" hash="9b7c36fb107e13d31e6056965cb913c6"/><file name="FailedPredictionException.php" hash="85d1545624f43f9c953149c57ca27599"/><file name="NoCallsException.php" hash="b90a7dfdbddb3d5d0eaeb1a72e9213b5"/><file name="PredictionException.php" hash="86b8214d830276d5333a703419be9cff"/><file name="UnexpectedCallsCountException.php" hash="9c1e09104a30b8378e2f8e107250779e"/><file name="UnexpectedCallsException.php" hash="c3758e0bfce32841557c4ef457b52073"/></dir><dir name="Prophecy"><file name="MethodProphecyException.php" hash="c3d302ded3ee0ce6e9811f3e7705163c"/><file name="ObjectProphecyException.php" hash="bc622ffd56099eeb200f5f6874931450"/><file name="ProphecyException.php" hash="52ff2d1c5f3a8aa4a4401c6ebc9bed00"/></dir></dir><dir name="PhpDocumentor"><file name="ClassAndInterfaceTagRetriever.php" hash="f6efc7862e9ac59bf35ae007ab145ff7"/><file name="ClassTagRetriever.php" hash="1af996b5cfa1b005552cceed61983f1a"/><file name="LegacyClassTagRetriever.php" hash="85be927a38b266c002de21361750258b"/><file name="MethodTagRetrieverInterface.php" hash="c4d5cc06aef79950ccecc5ee7af5ca86"/></dir><dir name="Prediction"><file name="CallPrediction.php" hash="67daacc4a6b9459c26296c802dc1deb9"/><file name="CallTimesPrediction.php" hash="0520ef717700b336a2bf0d22d70a8f45"/><file name="CallbackPrediction.php" hash="5d84ba63c7c89b9b98060732e0587a98"/><file name="NoCallsPrediction.php" hash="d9620665b37964272b78b4ad2168f827"/><file name="PredictionInterface.php" hash="4bfabdd011ab9f5e131513461434b65e"/></dir><dir name="Promise"><file name="CallbackPromise.php" hash="7a47d1a048617a92266a7d7c38a7a2d0"/><file name="PromiseInterface.php" hash="2953e6fabbc77033aeee7f0aa8ab0ed6"/><file name="ReturnArgumentPromise.php" hash="603cf51c98c32e64a09bb56dfc378a40"/><file name="ReturnPromise.php" hash="6369ed3e29a23333e50af5d7673aec21"/><file name="ThrowPromise.php" hash="11517d8202d62126838bdad3875d5357"/></dir><dir name="Prophecy"><file name="MethodProphecy.php" hash="b2f87de0aefd3f176eb54811f9773b9e"/><file name="ObjectProphecy.php" hash="5aeec89e1f96ec774279f6baa9b3a49f"/><file name="ProphecyInterface.php" hash="aeb552a0e474ab59f2fb2d6abaa7ba83"/><file name="ProphecySubjectInterface.php" hash="7c766011d2b710488d762dad88591ed4"/><file name="Revealer.php" hash="ddc6c76e8e4e1c3fe089d9333e3aa696"/><file name="RevealerInterface.php" hash="3f18f735e13efc4fdb1ca069bb55fc2b"/></dir><file name="Prophet.php" hash="f76fca6cd9f03d5fb864d0524c2dc871"/><dir name="Util"><file name="ExportUtil.php" hash="5a19031249c10144174376c4c95a7b45"/><file name="StringUtil.php" hash="3d2eab568dcc8044fa11903c1fc0dd50"/></dir></dir></dir><file name=".gitignore" hash="5bda62fc1d83933fbfdf0c7f62fdf039"/><file name=".travis.yml" hash="39cdebd02a318abd7335ccc3df4b1f00"/></dir></dir><dir name="phpunit"><dir name="php-code-coverage"><file name="CONTRIBUTING.md" hash="4fadd77d541014c03e7d8644a2a9f81f"/><file name="ChangeLog-2.2.md" hash="5260a57175e43a182b812f8656812c96"/><file name="LICENSE" hash="867b7deb79978088daacdf21d0edbf2b"/><file name="README.md" hash="2d75438bcf5bcd6397f3c3820ec9b4a1"/><dir name="build"><file name="travis-ci.xml" hash="1176916b2733dda758e4a76938408493"/></dir><file name="build.xml" hash="018f91345ffa3f12ae812ef4133f7ddc"/><file name="composer.json" hash="aa87a8cd6ede8c419fa85cd46569d5a8"/><file name="phpunit.xml.dist" hash="7be2b25c9993369435eb187ea89bfa26"/><dir name="scripts"><file name="auto_append.php" hash="1f894beb45e5f1af9d3b3f2e770b8898"/><file name="auto_prepend.php" hash="3864daef243ecda1ad504069528ea5f0"/></dir><dir name="src"><dir name="CodeCoverage"><dir name="Driver"><file name="HHVM.php" hash="e13976cb29562db97ee7c1ecb9074dea"/><file name="PHPDBG.php" hash="69be060ff0748db5e771b6dd997011c9"/><file name="Xdebug.php" hash="39ddcb27f385329de70c2a7fd1a380b8"/></dir><file name="Driver.php" hash="506df8e1566386715cd354cafca76ce1"/><dir name="Exception"><file name="UnintentionallyCoveredCode.php" hash="26245a94eb787713993157c93cc5939d"/></dir><file name="Exception.php" hash="5551859cbb46a557cf61fe5c3ca14555"/><file name="Filter.php" hash="1a084f9ef8d28a0d070e13abee0f78d0"/><dir name="Report"><file name="Clover.php" hash="3d8676f18b867b8cadfd581179bbe439"/><file name="Crap4j.php" hash="14f40d5e1a0bd5af70edd5697d5facd4"/><file name="Factory.php" hash="b2eb20c097f79379029a13483df03208"/><dir name="HTML"><dir name="Renderer"><file name="Dashboard.php" hash="2e9014188032173ff79d11e2ad9a3630"/><file name="Directory.php" hash="635741ec9084e4ff4b37625bcaa2c386"/><file name="File.php" hash="812a381032c2c956847733ac48f29095"/><dir name="Template"><file name="coverage_bar.html.dist" hash="8d5207f9b047c474b0462694d1aa7472"/><dir name="css"><file name="bootstrap.min.css" hash="eedf9ee80c2faa4e1b9ab9017cdfcb88"/><file name="nv.d3.min.css" hash="9b3fa55fa15548f646827ff8351f6a3a"/><file name="style.css" hash="1c0bb4a912e02519d339f46ce2f21205"/></dir><file name="dashboard.html.dist" hash="1c27e95e1f17c653b54b72cf2b1e670a"/><file name="directory.html.dist" hash="52acdeb1a85b33f02de507381bca87ed"/><file name="directory_item.html.dist" hash="0c6a7df69c666ddfa176648f08f4d65f"/><file name="file.html.dist" hash="19529297978385c0517be3dde3fa8105"/><file name="file_item.html.dist" hash="e64a3f30539de5f72c6a1ba3ff21afef"/><dir name="fonts"><file name="glyphicons-halflings-regular.eot" hash="f4769f9bdb7466be65088239c12046d1"/><file name="glyphicons-halflings-regular.svg" hash="89889688147bd7575d6327160d64e760"/><file name="glyphicons-halflings-regular.ttf" hash="e18bbf611f2a2e43afc071aa2f4e1512"/><file name="glyphicons-halflings-regular.woff" hash="fa2772327f55d8198301fdb8bcfc8158"/><file name="glyphicons-halflings-regular.woff2" hash="448c34a56d699c29117adc64c43affeb"/></dir><dir name="js"><file name="bootstrap.min.js" hash="8c237312864d2e4c4f03544cd4f9b195"/><file name="d3.min.js" hash="5936da7688d010c60aaf8374f90fcc2b"/><file name="holder.min.js" hash="dc575f4af6aa1f9220acf8f206c1c8ec"/><file name="html5shiv.min.js" hash="3044234175ac91f49b03ff999c592b85"/><file name="jquery.min.js" hash="895323ed2f7258af4fae2c738c8aea49"/><file name="nv.d3.min.js" hash="b7dee5ded6402c555c411df56c4b16a3"/><file name="respond.min.js" hash="afc1984a3d17110449dc90cf22de0c27"/></dir><file name="method_item.html.dist" hash="e5e0b83fc92fc1f88a53b42b2ef1a561"/></dir></dir><file name="Renderer.php" hash="de21a510e5de184717e1e80c7a39726d"/></dir><file name="HTML.php" hash="4daa7b378cdfd8d55b44c81b52df3e68"/><dir name="Node"><file name="Directory.php" hash="0de76dffb80c0b992f93e9a929a10382"/><file name="File.php" hash="2b53005da550aed6abb990d9d0184dab"/><file name="Iterator.php" hash="7efb565beca9d34a756c9be41762517f"/></dir><file name="Node.php" hash="422619ba51fc72d62c421c248d6be1fb"/><file name="PHP.php" hash="c8306a1ab3aa3fbd0441a940d521e94c"/><file name="Text.php" hash="3fcec9caf3585aa8815aeb6ec736c5ed"/><dir name="XML"><file name="Directory.php" hash="e5e258a6bd4b703dcf130ee3f245d716"/><dir name="File"><file name="Coverage.php" hash="d85164e39cb0f2b6da3e2517619e8e57"/><file name="Method.php" hash="fe541aad6246655a8b7c5c0f8f925a57"/><file name="Report.php" hash="c8085242da1ba34c5481714dbabb7c4b"/><file name="Unit.php" hash="6b0505bd0c6558bbaf68df6e244e1c99"/></dir><file name="File.php" hash="8dc39e34b45e9b6015386ee785859424"/><file name="Node.php" hash="a4290554318aab84fe0eceba576297c8"/><file name="Project.php" hash="b7e5399e11a9b82b1c047757ab38cd4a"/><file name="Tests.php" hash="4de3958fc2935ad4a506fa513d9bbfb1"/><file name="Totals.php" hash="504d4da3dfd2994b452192ce724c33ec"/></dir><file name="XML.php" hash="34b570eb4a574658f68cd9a32eb76057"/></dir><dir name="Util"><file name="InvalidArgumentHelper.php" hash="49e4995373f201811fc3811cd117fbdf"/></dir><file name="Util.php" hash="34699504f6e71400fbe315e7b0d87707"/></dir><file name="CodeCoverage.php" hash="e5bb4dc3701f53dc8484e64234d83bfb"/></dir><dir name="tests"><dir name="PHP"><dir name="CodeCoverage"><file name="FilterTest.php" hash="1c0b8d42b7089a867a46d93cf5975f1a"/><dir name="Report"><file name="CloverTest.php" hash="f33f02ed90a54ca45e270b5f69632686"/><file name="FactoryTest.php" hash="b3902ac21c5f29ceab0745b895092863"/></dir><file name="UtilTest.php" hash="be3ca34762f174a781d1bc38cc9ea033"/></dir><file name="CodeCoverageTest.php" hash="4cf110010405cd85614998e1e66eaf54"/></dir><file name="TestCase.php" hash="d5f070df31ba4e4303859b5e928d4ed7"/><dir name="_files"><file name="BankAccount-clover.xml" hash="8fb2e8875a0519dfe41051766d4fa312"/><file name="BankAccount.php" hash="1fa57c931da01a8107b82bcf4b1fb15c"/><file name="BankAccountTest.php" hash="2f9dce84cfd563b443d2e0257e084f58"/><file name="CoverageClassExtendedTest.php" hash="ef2336d55ae02703b0c608e2c86a835a"/><file name="CoverageClassTest.php" hash="88af4d7c4b557e78f886453857b00612"/><file name="CoverageFunctionParenthesesTest.php" hash="c7fef2fb7f51150a660844b997ee4c37"/><file name="CoverageFunctionParenthesesWhitespaceTest.php" hash="ec5d778e1a37d1a190c40a9acec55a65"/><file name="CoverageFunctionTest.php" hash="39bec3b0b9db30f67bc23896018b7e15"/><file name="CoverageMethodOneLineAnnotationTest.php" hash="d229ea18df6ca5eabe0e9f42cdfec897"/><file name="CoverageMethodParenthesesTest.php" hash="889346c35550fe4a3f4caa0838136f9f"/><file name="CoverageMethodParenthesesWhitespaceTest.php" hash="79096a31b12bb716119c4ae5021114d5"/><file name="CoverageMethodTest.php" hash="736839b87afcbfa16f75a87170b2eaf2"/><file name="CoverageNoneTest.php" hash="1ef0636da95daaf6a8bda6991df078e4"/><file name="CoverageNotPrivateTest.php" hash="b64af610121292153da0681b2328e3ec"/><file name="CoverageNotProtectedTest.php" hash="d090bd61f1ddf98f5b1d5a4e9b74558a"/><file name="CoverageNotPublicTest.php" hash="fed43600690b9cdaba323037b43b47b4"/><file name="CoverageNothingTest.php" hash="64332f588c6c1a09651b9d54d0a90dd3"/><file name="CoveragePrivateTest.php" hash="fdd0b16f24305076c51df8781a9d788c"/><file name="CoverageProtectedTest.php" hash="c12e2728b065e19203543dfe515827b2"/><file name="CoveragePublicTest.php" hash="c2df1e89a58b9382dcddbc17280db2eb"/><file name="CoverageTwoDefaultClassAnnotations.php" hash="73657242a6cc3db3203540430eb5aea1"/><file name="CoveredClass.php" hash="3fb30247bee83f69ab4102b1debf0e3e"/><file name="CoveredFunction.php" hash="38958a75f33a86b704f96f50cbc6548d"/><file name="NamespaceCoverageClassExtendedTest.php" hash="6ee65961bef48fcbd29dc32c1cd1b214"/><file name="NamespaceCoverageClassTest.php" hash="303c79ca84dd5185cbe3523be856be76"/><file name="NamespaceCoverageCoversClassPublicTest.php" hash="196ba19fc47ab47727515c2378fb7673"/><file name="NamespaceCoverageCoversClassTest.php" hash="c8aca2dafd7f838c8ad3a1a37494b2b1"/><file name="NamespaceCoverageMethodTest.php" hash="65d34371a30cf070c32af9e748057cd7"/><file name="NamespaceCoverageNotPrivateTest.php" hash="72f092fa88a601e0c6b879e79f342ec7"/><file name="NamespaceCoverageNotProtectedTest.php" hash="6a4e3044f4170ae6526449bc31f04480"/><file name="NamespaceCoverageNotPublicTest.php" hash="3ef83ceab1ef56e48c564f53e5abc007"/><file name="NamespaceCoveragePrivateTest.php" hash="9db671d755ccc81cd789fd099404e634"/><file name="NamespaceCoverageProtectedTest.php" hash="e55f9e06a7ac37584bb21428023a3ecd"/><file name="NamespaceCoveragePublicTest.php" hash="cfb91dec22992ab23414c869055e4195"/><file name="NamespaceCoveredClass.php" hash="71017e733b94b3c63316bab6b4a3a405"/><file name="NotExistingCoveredElementTest.php" hash="6d7f8db98965f803878906e6510fe14a"/><file name="class-with-anonymous-function-clover.xml" hash="c324b59352780ed63811eeec343f5d72"/><file name="ignored-lines-clover.xml" hash="05add787a4062f527ba523ea53e59d43"/><file name="source_with_class_and_anonymous_function.php" hash="c713c0fce3b2753cdc6d91fef1bf89b8"/><file name="source_with_ignore.php" hash="0c13dc04fb19a7e9ba89d766ab9a18e4"/><file name="source_with_namespace.php" hash="329f39af4321bad66d28fbf11764e45a"/><file name="source_with_oneline_annotations.php" hash="e96b8b72e308bd417b6699fcbef673ac"/><file name="source_without_ignore.php" hash="04a707fa08b9df780bec3dbf2fc6b074"/><file name="source_without_namespace.php" hash="7316c8e4818931d5521a3c590b14f999"/></dir></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="af764bbd47d332bb257d91ed27620e7a"/><file name=".travis.yml" hash="a1e8e6b3e8e2dfef48c9ff69e70c81a0"/></dir><dir name="php-file-iterator"><file name="ChangeLog.md" hash="2e12c467e0899c3739eabc4c6a1ec4b2"/><file name="LICENSE" hash="3e71f43ff2c0d752dbd23c76da32a94f"/><file name="README.md" hash="5e672bf227e1bfb9c4a1001f456b68cf"/><file name="composer.json" hash="a4c765abf57e13cea89ffb36ae2c3694"/><dir name="src"><file name="Facade.php" hash="96877974aafc0e49033ce055c8cd2a1a"/><file name="Factory.php" hash="4334b71e5afe5091f3107d0475699fd6"/><file name="Iterator.php" hash="94ad0f39361843333f077a6ebfd6c332"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="7d546184afdfb50fac3c2ac149eb26d2"/></dir><dir name="php-text-template"><file name="LICENSE" hash="f49c9b8bb76bdccb7c22fbde6d22757f"/><file name="README.md" hash="5808c106de3fda4abf60f48b951ae997"/><file name="composer.json" hash="bd682e2f2339f962e5991fc90a52b67c"/><dir name="src"><file name="Template.php" hash="0543ca1facab9f263808a5f1f730f092"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="6c7475208ca90f89353dafbf6161264a"/></dir><dir name="php-timer"><file name="LICENSE" hash="481839914f345c664d5dea21b1d04c3f"/><file name="README.md" hash="6a859a475dee683cc301e68df49df909"/><file name="composer.json" hash="dd6d60f5a6dbc24bf1017caff198a33c"/><dir name="src"><file name="Timer.php" hash="5fbe3ab23b93aa110348ddf634778d12"/></dir><dir name="tests"><file name="TimerTest.php" hash="88cd933bdc06a5d1fecad0908465260a"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="232d3afeb14a88aef70e4e24fbab9e54"/><file name=".travis.yml" hash="859188c6715499e835b371b7a6e0faba"/></dir><dir name="php-token-stream"><file name="LICENSE" hash="b4f42b89683b8003b2041d565bf2c225"/><file name="README.md" hash="c048364d3bcfff33d0dee7518dfb8d29"/><dir name="build"><file name="phpunit.xml" hash="4de22e7e36999f962d1e8e5d7f735412"/></dir><file name="build.xml" hash="4707c6e9f86cae86bf16b561170cc060"/><file name="composer.json" hash="dfa10f4977d247d2ee0e8def26c5892f"/><dir name="src"><dir name="Token"><dir name="Stream"><file name="CachingFactory.php" hash="ae8459fadfe3ff3e4dfa1a51c15a3fc2"/></dir><file name="Stream.php" hash="fa4ca407084bd134aa3630a4aa412179"/></dir><file name="Token.php" hash="5a2550ab83f5420edc337c1ef8e6f780"/></dir><dir name="tests"><dir name="Token"><file name="ClassTest.php" hash="cc05517f09ba0a0a39b23bc43fdfcd07"/><file name="ClosureTest.php" hash="ced9ff421a6eac670f576fe5b0a2dcb6"/><file name="FunctionTest.php" hash="98c4a4b7bc21b159cd50f18f3582154a"/><file name="IncludeTest.php" hash="85b9a79f6bfce83bb8c3ce3af2b045c3"/><file name="InterfaceTest.php" hash="ed019913c65070d78abe99258a4a24be"/><file name="NamespaceTest.php" hash="863ca9edae472d00bfff63ce44ebdc84"/></dir><file name="TokenTest.php" hash="9d6b98c38a6354473a87f73fe4ee95bc"/><dir name="_fixture"><file name="classExtendsNamespacedClass.php" hash="22764f0b6de09293c3d4eaf55bc7163e"/><file name="classInNamespace.php" hash="1e6de40ec066648e61e0769485470523"/><file name="classInScopedNamespace.php" hash="49c3594e191b195f6c83ff1394bd1a81"/><file name="class_with_method_that_declares_anonymous_class.php" hash="329c904e158590b64cd11ce769953a74"/><file name="class_with_method_that_declares_anonymous_class2.php" hash="dcc6e71046486f885822d23060044f16"/><file name="closure.php" hash="5cdbae1c9428035a37488f32d17c0665"/><file name="issue19.php" hash="f5d881f3dc31f7ac2ae703f17056d753"/><file name="issue30.php" hash="19278ce048443a651605700d98456a06"/><file name="multipleNamespacesWithOneClassUsingBraces.php" hash="e8ac69199b7abd47aaf149846fe164c3"/><file name="multipleNamespacesWithOneClassUsingNonBraceSyntax.php" hash="6d1cf17489cd1307bd676d08a688b23a"/><file name="source.php" hash="1b601d088df48aa597db3a2503144ec1"/><file name="source2.php" hash="3536fd82479484d26d2cb47f28f21b5e"/><file name="source3.php" hash="a5cd42729c1bcb391a76f649774244db"/><file name="source4.php" hash="192c5f3fb62d9ec0a27b8946348038c7"/><file name="source5.php" hash="8f5de89985fc45a55da7a25a711f9969"/></dir><file name="bootstrap.php" hash="a49ea225267e4c24fcb24be989b3241d"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="36cf69e03afaa72b500778a987d5b0d7"/><file name=".travis.yml" hash="a3f0f14cf02c5d2f27c98c912337d10c"/></dir><dir name="phpunit"><file name="CODE_OF_CONDUCT.md" hash="96c8ada4da9dc4ed29a5a94c5b3e1978"/><file name="CONTRIBUTING.md" hash="ea4d5df005a5481f05e4b7c44bb35452"/><file name="ChangeLog-4.0.md" hash="35f79a5addfb4406d03bcf40cdefc363"/><file name="ChangeLog-4.1.md" hash="bc4af1436594670427d0fd69209fef65"/><file name="ChangeLog-4.2.md" hash="88b7e91af3b1c4ba2bb1a2d0f1eec2c9"/><file name="ChangeLog-4.3.md" hash="6f770f6bdd2d920f8db85ba16364d4b6"/><file name="ChangeLog-4.4.md" hash="96715ce3eed29f0aeb9d818f584c3d9c"/><file name="ChangeLog-4.5.md" hash="9b5ed1bd78c914fa4b3d8320945185bd"/><file name="ChangeLog-4.6.md" hash="e7659ffe60e9bf9d66708b4ed304cc39"/><file name="ChangeLog-4.7.md" hash="8bd8ed13e790792d877398eb26f8e1cc"/><file name="ChangeLog-4.8.md" hash="a2e8affc2c3c4d7018cfa5ec07cf6424"/><file name="LICENSE" hash="b997e5811f2fede8ffad410ebe280176"/><file name="README.md" hash="3ef91f17d44ecec49c60ff87023eb508"/><file name="build.xml" hash="bb34c0917f5378c22e262ff234055738"/><file name="composer.json" hash="362d7b150d6ce8e0f2b9adc849eb4d39"/><file name="phpunit" hash="a0a409545298664e3123f29654d4e350"/><file name="phpunit.xml" hash="f411f04f681f3df76f47736e9bb0a18d"/><file name="phpunit.xsd" hash="fe2f0c5a4490c24353b2e636f9edd522"/><dir name="src"><file name="Exception.php" hash="6d0901a3d39c947efa435bcff77ce674"/><dir name="Extensions"><file name="GroupTestSuite.php" hash="f12b6a182fc01ffee9e0ec37bd065bd1"/><file name="PhptTestCase.php" hash="3ae757bdd71c74e39ea97b946a612cd4"/><file name="PhptTestSuite.php" hash="3b5d0f67b7694529c5e9372538ada473"/><file name="RepeatedTest.php" hash="625b224cfda7acebdc67dbe34a7ef60b"/><file name="TestDecorator.php" hash="94ea35f8f877180b4e6a493f11c55086"/><file name="TicketListener.php" hash="eaa0e7d4044c0ed4b1aa819b07e5aaa0"/></dir><dir name="Framework"><dir name="Assert"><file name="Functions.php" hash="ddd500c7299b71c818c5bdf369d2bfa0"/></dir><file name="Assert.php" hash="c7c09ff14917ecdfc6f5ad8bfd765213"/><file name="AssertionFailedError.php" hash="6d08a7f0b6ea30ef0e7898dc72204619"/><file name="BaseTestListener.php" hash="beef0cf010b5174b538cd293611c18ff"/><file name="CodeCoverageException.php" hash="8effab2316d70a17bd9afec758f541d0"/><dir name="Constraint"><file name="And.php" hash="07ca11a7735d26170a94c2cead8c32bc"/><file name="ArrayHasKey.php" hash="f3c0409d467682dfdd5f4f9042e528de"/><file name="ArraySubset.php" hash="828c61a5eaf3863af946d8c5b435bea2"/><file name="Attribute.php" hash="948a6cb40da67a9815ca845e3196dde0"/><file name="Callback.php" hash="e5bd619b183e24a4cda4270b24d1a7f9"/><file name="ClassHasAttribute.php" hash="7177a342d3f84b954f290d4559a5f2a7"/><file name="ClassHasStaticAttribute.php" hash="c7fc56b50e3926d6d034c9a8ba5efd7c"/><file name="Composite.php" hash="551aab050b0c4f0f846c62b49cef9acc"/><file name="Count.php" hash="926db5dfb9a0494f26c6878e0c1ed1cd"/><file name="Exception.php" hash="c992b9af5864643f5fc90927192c4050"/><file name="ExceptionCode.php" hash="f43e5868369ab7230483b46f9454c33b"/><file name="ExceptionMessage.php" hash="02e59a324f1368027468205d8163338d"/><file name="ExceptionMessageRegExp.php" hash="c18b12121ac14948bd7f2ff21d92a5e3"/><file name="FileExists.php" hash="7674b36899bc3feffc7ae963c225389c"/><file name="GreaterThan.php" hash="fca17ec93f66321cfacfdd9bcaf5a191"/><file name="IsAnything.php" hash="5cf02d4d961c556457f4aab14867ee16"/><file name="IsEmpty.php" hash="5a0cd67d3df6955f05dde94686dda1cd"/><file name="IsEqual.php" hash="870e782769ae1399a6a545eec832d6a1"/><file name="IsFalse.php" hash="1762858daa4894ccaa1387f08c832cab"/><file name="IsIdentical.php" hash="facb82816e405169722ce4ffe847d8e7"/><file name="IsInstanceOf.php" hash="e5b21790a2ac1add0305d5169d6d8b9c"/><file name="IsJson.php" hash="672e98649b18ff2ca7aeb8142307b2ce"/><file name="IsNull.php" hash="d85d6bcaa67d0b8d9de92b6dd8d85299"/><file name="IsTrue.php" hash="3dc0618444b495cbe9a242660f44cb0c"/><file name="IsType.php" hash="da5b829e3f2b830e1de8b55f1bb67d7e"/><dir name="JsonMatches"><file name="ErrorMessageProvider.php" hash="33b01ea8a6e4ab0f5b6da6e4d504cf2a"/></dir><file name="JsonMatches.php" hash="7211001fb8d188e48c7bbc69d0e9f6e6"/><file name="LessThan.php" hash="97d879d6943905d81d68d3145c263c49"/><file name="Not.php" hash="ecbfbaaec61a4a76664b55baa3d91340"/><file name="ObjectHasAttribute.php" hash="b1fb8494a9cffba0aa03c44370d2ca09"/><file name="Or.php" hash="7ec7e9e62153168563cda792eb4059eb"/><file name="PCREMatch.php" hash="312f28b7303f88db58041c37041713e4"/><file name="SameSize.php" hash="9236e23b510a98540e323ba0651204fb"/><file name="StringContains.php" hash="b6ed4431c163a1dd9fa34ac368c63339"/><file name="StringEndsWith.php" hash="ab79a5f49f5e00fe283c578031a4617c"/><file name="StringMatches.php" hash="2c7631a70cdf5872a6157d45219efda5"/><file name="StringStartsWith.php" hash="2abac2d8bcfea73a4e39c318e01fe672"/><file name="TraversableContains.php" hash="997173277048e265be5608775a0070f6"/><file name="TraversableContainsOnly.php" hash="97bfc0c3eb6d782b39f571557fcd8c91"/><file name="Xor.php" hash="24c63046a1329d9332ac6427b90cd062"/></dir><file name="Constraint.php" hash="9be646794eb34a6283cbea63ca4c18d9"/><dir name="Error"><file name="Deprecated.php" hash="b199c6c97e822f4a63552d21fd557ed3"/><file name="Notice.php" hash="448fff9194b06c5bccfacc3f8926ead0"/><file name="Warning.php" hash="ef6983832beab060a47e587d17318236"/></dir><file name="Error.php" hash="1a46753a43260a3c6cca9beb3041ea3f"/><file name="Exception.php" hash="6ab8d5c010d19a5cd362ac80b2ea0e17"/><file name="ExceptionWrapper.php" hash="96746f8c3b7d6d3e6e198cba52bc0514"/><file name="ExpectationFailedException.php" hash="bf627422d6cf4fd920907d9621ad141c"/><file name="IncompleteTest.php" hash="aea347db7fbc7fcc6addb7e3d40538fa"/><file name="IncompleteTestCase.php" hash="26aa675a2e392ec49c5ff87710a409a0"/><file name="IncompleteTestError.php" hash="09f74996d0dfe6aadc226065bbe3742b"/><file name="InvalidCoversTargetError.php" hash="2bd6eaa763fcb1e771ffabc8d517a13c"/><file name="InvalidCoversTargetException.php" hash="1f22663ee7c810b28eed42ab0ca41747"/><file name="OutputError.php" hash="a1ab2849d52729d8ebc1e6a59b24e348"/><file name="RiskyTest.php" hash="bcf7a99c0938116de8493769ad3d1284"/><file name="RiskyTestError.php" hash="0c1b78f2d9e211c93ee9a7008c755cd7"/><file name="SelfDescribing.php" hash="f4e4be0ba8fd637ee56e0033b53448ab"/><file name="SkippedTest.php" hash="acf2f8fbdc58184779d74c6bd7244a82"/><file name="SkippedTestCase.php" hash="bb53f6293d8445d88a0cba8c376139e7"/><file name="SkippedTestError.php" hash="36a8da359535c33a6110c97fbd63e06e"/><file name="SkippedTestSuiteError.php" hash="716c0040cd081b02b01ee6448f82bfad"/><file name="SyntheticError.php" hash="1e2e6f081e7f24abfeab225285afa0d5"/><file name="Test.php" hash="dae786e9d58f68dd5f8eb066de2841e9"/><file name="TestCase.php" hash="c912b82a985cb008922fd8c9577883eb"/><file name="TestFailure.php" hash="a811d8638ee6ccac237861048bd689f4"/><file name="TestListener.php" hash="cc1312df06fe1c096f8ad74e282e130b"/><file name="TestResult.php" hash="f01f5872e082455edf98ba9bdb5c131b"/><dir name="TestSuite"><file name="DataProvider.php" hash="36fc17f67adc17d2a1d46a08ef82547c"/></dir><file name="TestSuite.php" hash="26541f701fac4c5992f26d2e2ef351c9"/><file name="UnintentionallyCoveredCodeError.php" hash="beab3ae23f7f822b6937df4b22e9e451"/><file name="Warning.php" hash="d459d1b075c0f644734b392bd7beb81a"/></dir><dir name="Runner"><file name="BaseTestRunner.php" hash="2274d5111f9177aebd80b72b96d59836"/><file name="Exception.php" hash="f49bc91be91c32d573d977b002c8fd4d"/><dir name="Filter"><file name="Factory.php" hash="0d76510517f5ead5d8c092dc792eae1e"/><dir name="Group"><file name="Exclude.php" hash="6a18ba6d0a73586d61021ec4e5a0ce90"/><file name="Include.php" hash="f693455a891062efe058959167e01e41"/></dir><file name="Group.php" hash="a2cd7d5337b9e1f47cea378c96d59007"/><file name="Test.php" hash="075c9bf7fc13871cb419f473803e618b"/></dir><file name="StandardTestSuiteLoader.php" hash="cf1d590893d22a5a1b343d16b0d8997f"/><file name="TestSuiteLoader.php" hash="e98d44fe7dbcc15d8b47e49902d09fd6"/><file name="Version.php" hash="91e07893e9c4dededf7c0b821c48cb3b"/></dir><dir name="TextUI"><file name="Command.php" hash="241aeceb45d6d609df5565f88fe75bae"/><file name="ResultPrinter.php" hash="cdbe6aa8ffc7a85f53f5b88130dbf189"/><file name="TestRunner.php" hash="5564e26a0f2396efa4a749eadb5e7888"/></dir><dir name="Util"><file name="Blacklist.php" hash="5e3587d230ae16d758a90032bdd09b4f"/><file name="Configuration.php" hash="0f759b9db332a1a143d9184e3c8f2d60"/><file name="ErrorHandler.php" hash="6b1078da1cfcbba0dc73412e9948d705"/><file name="Fileloader.php" hash="6520ba6efbabfd0407e3f774654ce9fa"/><file name="Filesystem.php" hash="1c1ab7020f15268d164c12d0f0e57be5"/><file name="Filter.php" hash="317782716120846b01392b11266c7a44"/><file name="Getopt.php" hash="42f53e3f03af6b361732bae8d71132fd"/><file name="GlobalState.php" hash="a196c15ed3efed57d67f23074389dfa8"/><file name="InvalidArgumentHelper.php" hash="2de830ec9daa15b0445979f65ea13589"/><dir name="Log"><file name="JSON.php" hash="968339cd420ecb7d11c8dd31194a73b9"/><file name="JUnit.php" hash="a8f56ad7c665c724d4a7e04a06427721"/><file name="TAP.php" hash="77407b5762c356250ab86c27c6defe8d"/></dir><dir name="PHP"><file name="Default.php" hash="a42766615bc2f8f5ada02cd949547208"/><dir name="Template"><file name="TestCaseMethod.tpl.dist" hash="a30ef8202f3018ef7733fa8e1bf57370"/></dir><file name="Windows.php" hash="cda6f70d3037de6f23382296a0d67d67"/><file name="eval-stdin.php" hash="120ac49800671dc383b6f3709c25c099"/></dir><file name="PHP.php" hash="b3ece2f9811e11b4fcb7be069a3c72d7"/><file name="Printer.php" hash="bf8cd1d0ff033ee7b42c193be897dcf0"/><file name="Regex.php" hash="96920e8abeb6d124f5ad04b54ec45f78"/><file name="String.php" hash="a0ec4f40eb7e02a441d54dcfa912e75c"/><file name="Test.php" hash="36047d9bf61facab30ba870b2a2d7565"/><dir name="TestDox"><file name="NamePrettifier.php" hash="d31ae7ffaa33cfb33cfb674272ba51b9"/><dir name="ResultPrinter"><file name="HTML.php" hash="91028e549a0457e7bef8f922fd175376"/><file name="Text.php" hash="b5010b94407923d7bb6abbf35b6c290c"/></dir><file name="ResultPrinter.php" hash="4a1c8be23c0ac132c94c3ec41dc21117"/></dir><file name="TestSuiteIterator.php" hash="032e8098534d0e4833c4976b65a7a86e"/><file name="Type.php" hash="35bb108ad6d9621aecb663929d6960d9"/><file name="XML.php" hash="8a6046b6aaac2a3454cbb6a28a3cb6e6"/></dir></dir><dir name="tests"><dir name="Extensions"><file name="PhptTestCaseTest.php" hash="a2e99c5d0924247781bc999870b42e36"/><file name="RepeatedTestTest.php" hash="971c702bdf6cb6c92c184261081f00fb"/></dir><dir name="Fail"><file name="fail.phpt" hash="2d7af6d43c5d4874c0d6b83e7becd959"/></dir><dir name="Framework"><file name="AssertTest.php" hash="9907f197b1aa386f1f0109467a354583"/><file name="BaseTestListenerTest.php" hash="4ffe4f146a2c7525366e437caa8b2bf8"/><dir name="Constraint"><file name="CountTest.php" hash="788bea391a6efd2ab01b37c146714c4d"/><file name="ExceptionMessageRegExpTest.php" hash="d5e6b946cab4a74f4459f0fcf0260ea6"/><file name="ExceptionMessageTest.php" hash="2b4828334f0a8210a5b7780734a19848"/><dir name="JsonMatches"><file name="ErrorMessageProviderTest.php" hash="7218def37e14c196b4045cb421d2f08f"/></dir><file name="JsonMatchesTest.php" hash="9174f7bfd7acf10766a65fcf6bb3ce87"/></dir><file name="ConstraintTest.php" hash="f3b436b5cd5b1ef4949d8190a5b73bd1"/><file name="SuiteTest.php" hash="3757df00d87902f99b75797d09439384"/><file name="TestCaseTest.php" hash="238e2b8774eafc901d998875238a2508"/><file name="TestFailureTest.php" hash="6127b62c702bf0eff8a4277a70aa30e6"/><file name="TestImplementorTest.php" hash="8e8705fc3161361b02cf43e4cf565ca8"/><file name="TestListenerTest.php" hash="86efb7d03940709e268d97bdc1e2155c"/></dir><dir name="Regression"><dir name="GitHub"><dir name="1149"><file name="Issue1149Test.php" hash="425d9176092c931ba74590ac19c525d2"/></dir><file name="1149.phpt" hash="dd2ff6b57a29700f8db0646cd6a0de15"/><dir name="1216"><file name="Issue1216Test.php" hash="f7054d3483162ebfff9bb56cabd155ee"/><file name="bootstrap1216.php" hash="73053c8bd724afea9aa9912ce554b855"/><file name="phpunit1216.xml" hash="0f048580fbb0cf27279158557bb15561"/></dir><file name="1216.phpt" hash="efb597d456654bfc2de9643437733d01"/><dir name="1265"><file name="Issue1265Test.php" hash="b21d6261042b448c2aa40c8cc9069c7e"/><file name="phpunit1265.xml" hash="a66e517dde190f30fc1b61216f7591a6"/></dir><file name="1265.phpt" hash="33f640b073b729e0b577326c40174ab3"/><dir name="1330"><file name="Issue1330Test.php" hash="7df5d2b128f6ee707928ddf594d85e1c"/><file name="phpunit1330.xml" hash="d1007e96e73c66b9e781e64e4f62ea45"/></dir><file name="1330.phpt" hash="c7023a65cc02ae56149019e698cc7f3f"/><dir name="1335"><file name="Issue1335Test.php" hash="f2f331629d6d64a3f6a6508c08c84726"/><file name="bootstrap1335.php" hash="bfd3e2aa9100796977fb3547745b510c"/></dir><file name="1335.phpt" hash="05c3c7e749d70fc975354237b4df3c21"/><dir name="1337"><file name="Issue1337Test.php" hash="e1a02679efacd3951a9d571b07bdee4a"/></dir><file name="1337.phpt" hash="443dc5055fb9ce89caa946f0aaa51804"/><dir name="1348"><file name="Issue1348Test.php" hash="5a9fe5d48a217441707d4673b80741cc"/></dir><file name="1348.phpt" hash="54bd433535bf9691710b733968404654"/><dir name="1351"><file name="ChildProcessClass1351.php" hash="25d51d3aef75c8d96fdf307b4f10549a"/><file name="Issue1351Test.php" hash="cb94f6ecff4ebf6fba7670dc377400a1"/></dir><file name="1351.phpt" hash="ec809721443216b432d46816d0f735f8"/><dir name="1374"><file name="Issue1374Test.php" hash="3c49950d46659edb72a14aecb2d4fec5"/></dir><file name="1374.phpt" hash="82ec4b2f9e62c78e668fe6bd660d47d5"/><dir name="1437"><file name="Issue1437Test.php" hash="aa097597adc21b07c037582a9741360e"/></dir><file name="1437.phpt" hash="beab8cada61ef6ac269bfe50699119dc"/><dir name="1468"><file name="Issue1468Test.php" hash="b8717c126177a99bc08c5593f931e83b"/></dir><file name="1468.phpt" hash="d6ba4e49547da60334ed3b5e75b22eb5"/><dir name="1471"><file name="Issue1471Test.php" hash="8ed92f8a30b9c38b74edaf3698b87166"/></dir><file name="1471.phpt" hash="f7637786abb835d84da267118bbe6778"/><dir name="1472"><file name="Issue1472Test.php" hash="90c76206932e387b6dc5a3fb05f9bfb2"/></dir><file name="1472.phpt" hash="7f3b08a114c89ad71258c8c3b318b348"/><dir name="1570"><file name="Issue1570Test.php" hash="3dd90c04d8721e0742d87df4c5a867ae"/></dir><file name="1570.phpt" hash="4d19dc7b77983df2892a530dede4e439"/><dir name="2158"><file name="Issue2158Test.php" hash="42290c1fb13d0cfb1ab62d6c8beb96d5"/><file name="constant.inc" hash="89d5ff53581fb7b22c9558162e90871a"/></dir><file name="2158.phpt" hash="b071d1151f7d289cd358ed7fea4642a6"/><dir name="244"><file name="Issue244Test.php" hash="80e6b70b67d03b771034b31ba5e13975"/></dir><file name="244.phpt" hash="c8b17573c8ef14d370935fbe33b9fe25"/><dir name="322"><file name="Issue322Test.php" hash="f7ece9550d127a7db1e73371084b6cd5"/><file name="phpunit322.xml" hash="52740349f9157b4d562354eb7755fcb3"/></dir><file name="322.phpt" hash="d17915d9652b168556cd2fccb6ffdddd"/><dir name="433"><file name="Issue433Test.php" hash="750347290da446de684515ddd96b7326"/></dir><file name="433.phpt" hash="233c4ec600fdec034c2220d9e11175b9"/><dir name="445"><file name="Issue445Test.php" hash="98dbf7dd7cbaf94df7e1bc21e90be5ea"/></dir><file name="445.phpt" hash="8ee08fa1ac82cdf7e9183825539b08de"/><dir name="498"><file name="Issue498Test.php" hash="014237afc9ad878fda351f83566dc242"/></dir><file name="498.phpt" hash="710a2b5dae00e79eadbba4a2716e4e84"/><dir name="503"><file name="Issue503Test.php" hash="19a70deef0e66846ee17283aedf56a57"/></dir><file name="503.phpt" hash="4d22bc8e8b67e5b70d1752caf3322823"/><dir name="581"><file name="Issue581Test.php" hash="622071238e8de189dec3e6090bb4baae"/></dir><file name="581.phpt" hash="92ad636d97a9498ec95427d58ed8b4c4"/><dir name="74"><file name="Issue74Test.php" hash="46337a72d587a81d6b5cdbb8db8547a3"/><file name="NewException.php" hash="29206ae348775b94088f86e4402a20fe"/></dir><file name="74.phpt" hash="692db4f19699ed79a5334d5c92735403"/><dir name="765"><file name="Issue765Test.php" hash="a5becadf84631e7c558b43689bfd9521"/></dir><file name="765.phpt" hash="521a6a37c147d30e8fd7f9b5818fd595"/><dir name="797"><file name="Issue797Test.php" hash="909612e7522e3fab4cf922b84e847706"/><file name="bootstrap797.php" hash="21f60a4b50e4d3c8be040904243c07a0"/></dir><file name="797.phpt" hash="be20c1a8176dbfdec48a945b07e1f908"/><file name="863.phpt" hash="20428fb95f920373642b20d7cefeed81"/><dir name="873"><file name="Issue873Test.php" hash="859109524d432ea86e7ad0a15b27873e"/></dir><file name="873-php5.phpt" hash="c2e171c43a9f3a11b1b7bf4768cf24e3"/><file name="873-php7.phpt" hash="39e4bbc70765ae3018d61dde6adc2920"/></dir><dir name="Trac"><dir name="1021"><file name="Issue1021Test.php" hash="517a2792d6097c6236c5ef67fe0f95fd"/></dir><file name="1021.phpt" hash="c31d3d6a0ac25eb55d61120c78dd06e1"/><dir name="523"><file name="Issue523Test.php" hash="db3eda437d23db035506bc73f589dbb0"/></dir><file name="523.phpt" hash="01634172ca4ff5549e648782586c4fbe"/><dir name="578"><file name="Issue578Test.php" hash="d07f31cc5c4455fc2c6dc138d93e6a73"/></dir><file name="578.phpt" hash="46f10a78e2a219d4dbed4e537f1718c4"/><dir name="684"><file name="Issue684Test.php" hash="10c74e3921ca25f056407fa46d7c9b9b"/></dir><file name="684.phpt" hash="34af581bfd7e50078f02491ef840bb61"/><dir name="783"><file name="ChildSuite.php" hash="450f56f254fc68177bb1442dc454e487"/><file name="OneTest.php" hash="f558384784c314b9fd548624b065d0de"/><file name="ParentSuite.php" hash="1357c2cef604bfaec07e3a52cb6cd96d"/><file name="TwoTest.php" hash="80c0c32aae2300cc55754ac5757efc1a"/></dir><file name="783.phpt" hash="6bef6640867ef62556455948eb6dfb2c"/></dir></dir><dir name="Runner"><file name="BaseTestRunnerTest.php" hash="86b93a9359e87bf7b3f7c696b8d8f8b6"/></dir><dir name="TextUI"><file name="abstract-test-class.phpt" hash="82822680afb2715b710c7e8cfa8cbb32"/><file name="colors-always.phpt" hash="3ade80437046e24ef31cdb8627efbcb4"/><file name="concrete-test-class.phpt" hash="2f7cb22738039333b4c35c0c24d75fc3"/><file name="custom-printer-debug.phpt" hash="70fb72283afa4033c60fee4a51088d17"/><file name="custom-printer-verbose.phpt" hash="8a5f5fbbafed7cbd1144d0d1eec16516"/><file name="dataprovider-debug.phpt" hash="95446f635308e96c44650a47643eb13b"/><file name="dataprovider-log-xml-isolation.phpt" hash="3fb98ca795365ca57ef95d9b6b6c8e25"/><file name="dataprovider-log-xml.phpt" hash="0564d73169134df8b20ba7955be85390"/><file name="dataprovider-testdox.phpt" hash="0e7e4429b1d84cd95dc29702f769150b"/><file name="debug.phpt" hash="cd7d57b0f6ba49fd9ad9deb6660f4745"/><file name="default-isolation.phpt" hash="01eb45fadf2ac2e34ff60982cd7199be"/><file name="default.phpt" hash="a6395d83668106807f711d64d5189403"/><file name="dependencies-isolation.phpt" hash="206f7e3b8554d45533ca53b421e14744"/><file name="dependencies.phpt" hash="34961d74f568c0a4d793a656ed467a70"/><file name="dependencies2-isolation.phpt" hash="bc0320a2562670622917c44fc32b2767"/><file name="dependencies2.phpt" hash="fac8ded124b2e8037240a6777fa2ef42"/><file name="dependencies3-isolation.phpt" hash="4c70e369c47f0637fde7abfa06a3c2bd"/><file name="dependencies3.phpt" hash="3ddd7411fc9e876d5ed447a68b7ac051"/><file name="empty-testcase.phpt" hash="e9b963bd6a11a277a27bcb87e1461dc8"/><file name="exception-stack.phpt" hash="927da220609329aa81d95d05b5795bab"/><file name="exclude-group-isolation.phpt" hash="8f6736764cbc9ab05d5f2701d57b4b80"/><file name="exclude-group.phpt" hash="120815b1b8a75238bbc00ebe739425af"/><file name="failure-isolation.phpt" hash="e92a90b377278f3aa0d715d85de7dfea"/><file name="failure.phpt" hash="eb59f0c643b2c0278bc72a0db521fda4"/><file name="fatal-isolation.phpt" hash="9dd8d476e1a506b8eaa31eb84482d55d"/><file name="filter-class-isolation.phpt" hash="7a45c14da50306779e08b0767d962a7f"/><file name="filter-class.phpt" hash="72e7d191f2f48766786739abe3743c34"/><file name="filter-dataprovider-by-classname-and-range-isolation.phpt" hash="08c7fa7c225a5685f6632e3db38a43af"/><file name="filter-dataprovider-by-classname-and-range.phpt" hash="5eaed5b1812d7bfd93e13e819212dcac"/><file name="filter-dataprovider-by-number-isolation.phpt" hash="0f281e564f8e08c2bf59e2d87008f0c8"/><file name="filter-dataprovider-by-number.phpt" hash="a3764bdee5a0f843a1b66a03d567e636"/><file name="filter-dataprovider-by-only-range-isolation.phpt" hash="220e7cb23f18787b9e734c5f34a6537a"/><file name="filter-dataprovider-by-only-range.phpt" hash="961b2ac82bf03f82121e8b4aac6d564e"/><file name="filter-dataprovider-by-only-regexp-isolation.phpt" hash="de6d6cecfc634c1ae938bea81016039c"/><file name="filter-dataprovider-by-only-regexp.phpt" hash="8dd2542393dda42b9a7a8e3d02e28b9e"/><file name="filter-dataprovider-by-only-string-isolation.phpt" hash="0f1424cc91c8771e872f3d083262215e"/><file name="filter-dataprovider-by-only-string.phpt" hash="fbe2598fb7cbc29f17b9d9721bc87994"/><file name="filter-dataprovider-by-range-isolation.phpt" hash="d85d36931ec27f177f18b69ec637eac2"/><file name="filter-dataprovider-by-range.phpt" hash="faaa5ac9dceaf04c34a3a710372462e2"/><file name="filter-dataprovider-by-regexp-isolation.phpt" hash="bd2dac12d29ce29452c746b50b5be771"/><file name="filter-dataprovider-by-regexp.phpt" hash="e3755a46e368656ad2c3db8a4a5fb9a0"/><file name="filter-dataprovider-by-string-isolation.phpt" hash="280bdf1b0b9dec9281a526631b88c482"/><file name="filter-dataprovider-by-string.phpt" hash="9abab0ba622a513761722b8648941f3c"/><file name="filter-method-case-insensitive.phpt" hash="d886d6f149260873087b4a29d48e1b3d"/><file name="filter-method-case-sensitive-no-result.phpt" hash="74b8386edb94fffb7fb444823ff1b8ff"/><file name="filter-method-isolation.phpt" hash="d014e4bd1f13c2bb72999cb0853b2bc6"/><file name="filter-method.phpt" hash="25997a54c51e96fc46944a2a6df42faa"/><file name="filter-no-results.phpt" hash="5026e05b4dd5231c8d3a2f8a34ccddd4"/><file name="group-isolation.phpt" hash="ed77d7e9296d62858b231148450d0aa6"/><file name="group.phpt" hash="e8016248f921cb9f5cc9f53a6a9b42a8"/><file name="help.phpt" hash="3cf98a3ef8ab91a021962188e8c4a4b9"/><file name="help2.phpt" hash="6d9ba5789d0bbb256bae12312eb55ae4"/><file name="ini-isolation.phpt" hash="7abefc0d525c7ecb514969aa73e7771a"/><file name="list-groups.phpt" hash="fb490e06eef8e850acf2984d3e52b587"/><file name="log-json-no-pretty-print.phpt" hash="c806a013ac009953bd99f49fc9e0b410"/><file name="log-json-post-66021.phpt" hash="5719251c6706de6b8ad79712050c187a"/><file name="log-json-pre-66021.phpt" hash="de3fc4900eb50fbf7800013acca610c8"/><file name="log-tap.phpt" hash="d6a57739185d294f876375191a0e99d8"/><file name="log-xml.phpt" hash="e4a410fdff4cc79244787883e75b8396"/><file name="options-after-arguments.phpt" hash="eb8a6bb28f0a3fde16bf8ccb14601e5a"/><file name="output-isolation.phpt" hash="5fbc7bd998d53a00762b2d543198c634"/><file name="repeat.phpt" hash="199f3d0dd00db2da7a31fd3629685e4c"/><file name="report-useless-tests-incomplete.phpt" hash="30308a686c9eccb64e0ffcad1e8cf22f"/><file name="report-useless-tests-isolation.phpt" hash="d282c664af2e97ff6b4d047e435e6f69"/><file name="report-useless-tests.phpt" hash="d873f0fb3adec894395d8860a76cb543"/><file name="tap.phpt" hash="c04d259d27a73a97ef92dde50e9e5b87"/><file name="test-suffix-multiple.phpt" hash="c47c5202c55e2d3d35a4bf2cc5fc4765"/><file name="test-suffix-single.phpt" hash="2e5e7917355e661ee8088a65e4d70d85"/><file name="testdox-html.phpt" hash="e5af441e86c6ea375aa29ec974d1e23f"/><file name="testdox-text.phpt" hash="e0f02a8766df79c580d57395fdceb920"/><file name="testdox.phpt" hash="f02f5cfa6358fdc4ed8bc8d3a4ffea68"/></dir><dir name="Util"><file name="ConfigurationTest.php" hash="2d528f5388fc0e6a83d51992e2d55760"/><file name="GetoptTest.php" hash="4c1c0f9590d979cc797d440337210bca"/><file name="GlobalStateTest.php" hash="01bb5f5843bef89fce211f3a8c098706"/><file name="RegexTest.php" hash="84622525342d41c471f1c3f2a3664174"/><dir name="TestDox"><file name="NamePrettifierTest.php" hash="5141541a09a095de0805fa93717677ad"/></dir><file name="TestTest.php" hash="0ffd2524a32e4ff32ca46086fb229b83"/><file name="XMLTest.php" hash="822212f2fa38daa6aa4595d321034b77"/></dir><dir name="_files"><file name="AbstractTest.php" hash="b214b8e36440dade916874968bbc5dde"/><file name="Author.php" hash="be706f3c088e397fc67243ef15d96a0c"/><file name="BankAccount.php" hash="82a7d0064f51e6ec53eb242b93d070ed"/><file name="BankAccountTest.php" hash="1ce8595363094c9bb5ce48fa63fdd2dc"/><file name="BankAccountTest.test.php" hash="7939a3e19b08f7742f025964c380a14f"/><file name="BaseTestListenerSample.php" hash="16485515e525af6e5cf4d23308a9b976"/><file name="BeforeAndAfterTest.php" hash="790b45e68f6158d385c51974d06a446b"/><file name="BeforeClassAndAfterClassTest.php" hash="0b41444e47a852b90902cb48aa68d359"/><file name="Book.php" hash="f930142c0f32c839ea9017038c2ccc0d"/><file name="Calculator.php" hash="ffa92baf6d960643de83e281f1d85d64"/><file name="ChangeCurrentWorkingDirectoryTest.php" hash="9c18721298bbc976324818ce860cdcc0"/><file name="ClassWithNonPublicAttributes.php" hash="12127968de01d0148fede477ee57f76d"/><file name="ClassWithScalarTypeDeclarations.php" hash="5d248adde3ecad99325ca74336293fc7"/><file name="ClassWithToString.php" hash="06f58ed408891137da51a78883b2d1d4"/><file name="ConcreteTest.my.php" hash="e1a6d6d9d960fc260cb531db19de6bc3"/><file name="ConcreteTest.php" hash="c787c7a653f4cd82028c8505571c77a1"/><file name="CoverageClassExtendedTest.php" hash="ef2336d55ae02703b0c608e2c86a835a"/><file name="CoverageClassTest.php" hash="88af4d7c4b557e78f886453857b00612"/><file name="CoverageFunctionParenthesesTest.php" hash="c7fef2fb7f51150a660844b997ee4c37"/><file name="CoverageFunctionParenthesesWhitespaceTest.php" hash="ec5d778e1a37d1a190c40a9acec55a65"/><file name="CoverageFunctionTest.php" hash="39bec3b0b9db30f67bc23896018b7e15"/><file name="CoverageMethodOneLineAnnotationTest.php" hash="d229ea18df6ca5eabe0e9f42cdfec897"/><file name="CoverageMethodParenthesesTest.php" hash="889346c35550fe4a3f4caa0838136f9f"/><file name="CoverageMethodParenthesesWhitespaceTest.php" hash="79096a31b12bb716119c4ae5021114d5"/><file name="CoverageMethodTest.php" hash="736839b87afcbfa16f75a87170b2eaf2"/><file name="CoverageNamespacedFunctionTest.php" hash="94b1a99f49a728beb3f6cc4505bd3bc1"/><file name="CoverageNoneTest.php" hash="1ef0636da95daaf6a8bda6991df078e4"/><file name="CoverageNotPrivateTest.php" hash="b64af610121292153da0681b2328e3ec"/><file name="CoverageNotProtectedTest.php" hash="d090bd61f1ddf98f5b1d5a4e9b74558a"/><file name="CoverageNotPublicTest.php" hash="fed43600690b9cdaba323037b43b47b4"/><file name="CoverageNothingTest.php" hash="64332f588c6c1a09651b9d54d0a90dd3"/><file name="CoveragePrivateTest.php" hash="fdd0b16f24305076c51df8781a9d788c"/><file name="CoverageProtectedTest.php" hash="c12e2728b065e19203543dfe515827b2"/><file name="CoveragePublicTest.php" hash="c2df1e89a58b9382dcddbc17280db2eb"/><file name="CoverageTwoDefaultClassAnnotations.php" hash="e2af1e81a66510b60a6f84a6ef7efb13"/><file name="CoveredClass.php" hash="3fb30247bee83f69ab4102b1debf0e3e"/><file name="CoveredFunction.php" hash="38958a75f33a86b704f96f50cbc6548d"/><file name="CustomPrinter.php" hash="24634a7c9ccdbfe77ecdceebb6af2244"/><file name="DataProviderDebugTest.php" hash="d7edadb2c0a244c5e670383af79f6ec0"/><file name="DataProviderFilterTest.php" hash="3af0ce5f78cff6863060b6f804724c2d"/><file name="DataProviderIncompleteTest.php" hash="a5dc2e65e1261c150a8feab781ae79e7"/><file name="DataProviderSkippedTest.php" hash="39d2e6d3b78d9a016503b2f66c0de6a0"/><file name="DataProviderTest.php" hash="7cc93cfb6373a6b70f7ac350e2b3dc9a"/><file name="DependencyFailureTest.php" hash="c49e12c51dae5719302f9e9ac75cda18"/><file name="DependencySuccessTest.php" hash="4e2269b8be0f1241680c099211e57350"/><file name="DependencyTestSuite.php" hash="95df3b858eb969088b2ab5537f89370d"/><file name="DoubleTestCase.php" hash="f73c285d2abfca3bbca26741ba4ab65a"/><file name="DummyException.php" hash="2b40784a6eecccc6aa4a4ad6939e03b1"/><file name="EmptyTestCaseTest.php" hash="5bcdd8467634e1d3cceae5a186fcba65"/><file name="ExceptionInAssertPostConditionsTest.php" hash="96d04422bd8461c8de4e06fc980cebf1"/><file name="ExceptionInAssertPreConditionsTest.php" hash="7635cf0be8d2014ceb85000257125295"/><file name="ExceptionInSetUpTest.php" hash="c7151cae94e1c4f87009584a8ce2396c"/><file name="ExceptionInTearDownTest.php" hash="c6caf158fb09b74e2d37542476205537"/><file name="ExceptionInTest.php" hash="7c735579ebf9f2a916783d6040544c5c"/><file name="ExceptionNamespaceTest.php" hash="1dd30049a11cb46a51b1b1a4be308e24"/><file name="ExceptionStackTest.php" hash="e83c1fd10cd94663d403c217beab2064"/><file name="ExceptionTest.php" hash="fd9481c29488adf3648053e59641c7f0"/><file name="Failure.php" hash="722d9b9984de429e5a00bee66f9921b1"/><file name="FailureTest.php" hash="f4e1c5c6822b43211a779beea0814c6b"/><file name="FatalTest.php" hash="3aa347a0e720bdcf5d4ff2ccb9296153"/><file name="IncompleteTest.php" hash="b55cc8065aa2470bd38b8698963a0cf7"/><dir name="Inheritance"><file name="InheritanceA.php" hash="372b4c24b47966058945522d54f4b4da"/><file name="InheritanceB.php" hash="f2b2e2fe1591129480dd79a636f61d89"/></dir><file name="InheritedTestCase.php" hash="7dbc55ca5ee12f637b99054aac9c0429"/><file name="IniTest.php" hash="85aae0b77bed7a2f7295599d6d412bc6"/><file name="IsolationTest.php" hash="77256f844519e8fb87ec32d35dab8834"/><dir name="JsonData"><file name="arrayObject.json" hash="f6b2b7c421a506e737101c79a24a0c60"/><file name="simpleObject.json" hash="74ae259131b0149d39ad5ae616eba1a2"/></dir><file name="MockRunner.php" hash="44c14a6f68e2cb5c6e98164e712a314d"/><file name="MultiDependencyTest.php" hash="03d7bde724945c8d20e5a7163451e92b"/><file name="NamespaceCoverageClassExtendedTest.php" hash="6ee65961bef48fcbd29dc32c1cd1b214"/><file name="NamespaceCoverageClassTest.php" hash="303c79ca84dd5185cbe3523be856be76"/><file name="NamespaceCoverageCoversClassPublicTest.php" hash="196ba19fc47ab47727515c2378fb7673"/><file name="NamespaceCoverageCoversClassTest.php" hash="c8aca2dafd7f838c8ad3a1a37494b2b1"/><file name="NamespaceCoverageMethodTest.php" hash="65d34371a30cf070c32af9e748057cd7"/><file name="NamespaceCoverageNotPrivateTest.php" hash="72f092fa88a601e0c6b879e79f342ec7"/><file name="NamespaceCoverageNotProtectedTest.php" hash="6a4e3044f4170ae6526449bc31f04480"/><file name="NamespaceCoverageNotPublicTest.php" hash="3ef83ceab1ef56e48c564f53e5abc007"/><file name="NamespaceCoveragePrivateTest.php" hash="9db671d755ccc81cd789fd099404e634"/><file name="NamespaceCoverageProtectedTest.php" hash="e55f9e06a7ac37584bb21428023a3ecd"/><file name="NamespaceCoveragePublicTest.php" hash="cfb91dec22992ab23414c869055e4195"/><file name="NamespaceCoveredClass.php" hash="71017e733b94b3c63316bab6b4a3a405"/><file name="NamespaceCoveredFunction.php" hash="4eeecb3276eb96e364947fa356245e2d"/><file name="NoArgTestCaseTest.php" hash="c613174d800fd0f49bb99afdbe325175"/><file name="NoTestCaseClass.php" hash="7a2c21727d50479fb3e0e41d4e7176e7"/><file name="NoTestCases.php" hash="1168a9dc8a919496ebe2d003bad835c3"/><file name="NonStatic.php" hash="7a0314ba220d574c11f5a51970d4db1f"/><file name="NotExistingCoveredElementTest.php" hash="6d7f8db98965f803878906e6510fe14a"/><file name="NotPublicTestCase.php" hash="3cdba76815fc7532acaacfdd8510e5f9"/><file name="NotVoidTestCase.php" hash="b2a6edb124c40382bd3abdd7aad1eb05"/><file name="NothingTest.php" hash="bdf24d52ec8d0e488979ab2b4f1fc06b"/><file name="OneTestCase.php" hash="d1432b0ea84652d459ebb15dc7ee1a1f"/><file name="OutputTestCase.php" hash="c5b91c92def1e7e93333efaabc40c015"/><file name="OverrideTestCase.php" hash="004508b3411d7cd867561b07c1728ab4"/><file name="RequirementsClassBeforeClassHookTest.php" hash="db60f9df7a37ca9f933955c176733f76"/><file name="RequirementsClassDocBlockTest.php" hash="99fa7bbd8e64ffe5dc8346fc52e592ef"/><file name="RequirementsTest.php" hash="e67ef866166f50a74962ce2d45e24a44"/><file name="SampleArrayAccess.php" hash="8a22b30ce4809428957a9c7a861f1a88"/><file name="SampleClass.php" hash="877a23a01d00bbaaeda465e319ba532e"/><file name="Singleton.php" hash="ebbb44327ce66688302c92929f1db82b"/><file name="StackTest.php" hash="62d0cd4a68a695db12c68e9152310bcd"/><file name="Struct.php" hash="d0fc80910c689080b730de1ed06d023d"/><file name="Success.php" hash="6d8c9cabf978b37c7ceab68c51f1cc51"/><file name="TemplateMethodsTest.php" hash="746da1d305e89affe78639816c28bc16"/><file name="TestIncomplete.php" hash="940646a713ad8de9e3f02cc621ed1462"/><file name="TestIterator.php" hash="1830ce69c4f0f247ba3c152e1f413a70"/><file name="TestIterator2.php" hash="090d404be671b40c0ad90ae25e4ca468"/><file name="TestSkipped.php" hash="64d0562b5092260fdd016a2343388fd9"/><file name="TestTestError.php" hash="577074d252db3f8889dc25a67fa48be2"/><file name="TestWithTest.php" hash="1df7eba63583c6aecb62d228f1e3c36a"/><file name="ThrowExceptionTestCase.php" hash="51d96ab5e83c068c75f26af6a3c509a7"/><file name="ThrowNoExceptionTestCase.php" hash="3b230ab7500f6ba330f60ac190da52ae"/><file name="WasRun.php" hash="58530a9993e9894187a2c3f27aca0be6"/><file name="bar.xml" hash="1581f4e291c6d8f83330ab8b98a33b4c"/><file name="configuration.colors.empty.xml" hash="99c749f2a9721cb588a728fb82baf8b4"/><file name="configuration.colors.false.xml" hash="d81f2932ca545fa7cafaeae5f216fc28"/><file name="configuration.colors.invalid.xml" hash="af0e8998a9bb3fc68845b67f9a377ac2"/><file name="configuration.colors.true.xml" hash="ebc67f5fe55baf211cbb3f7323958ab4"/><file name="configuration.custom-printer.xml" hash="b01b0c4380dd368d68fd0c305e552185"/><file name="configuration.xml" hash="4615ea668b257a3817373afd4a8f8d42"/><file name="configuration_empty.xml" hash="3d557deca210d3523e511449f9b1894a"/><file name="configuration_xinclude.xml" hash="8b9e58651b86f41f7e430ecab42e0d0b"/><file name="expectedFileFormat.txt" hash="702970b5f7da2b2f718d31ac4f046f5e"/><file name="foo.xml" hash="6dc4cf0f198581bd6b4e6943a95c32a1"/><file name="structureAttributesAreSameButValuesAreNot.xml" hash="57fe4c6bc049415200ea4c3cbc93cbca"/><file name="structureExpected.xml" hash="22373573c8f5f9675a96029ece9ec857"/><file name="structureIgnoreTextNodes.xml" hash="22ae55cb8cfee800ba8e4830538be251"/><file name="structureIsSameButDataIsNot.xml" hash="8569dc65fc416a7a40a4dd1136f3be51"/><file name="structureWrongNumberOfAttributes.xml" hash="0faafcc0b086de6cabce4aed14592ffc"/><file name="structureWrongNumberOfNodes.xml" hash="5bb939be9c9105fdf25d8d9b5a2a9487"/></dir><file name="bootstrap.php" hash="138b94451592c0b3fdf5664b02efbc0d"/></dir><file name=".gitattributes" hash="1eab63d52d0b98411d3df43a720a23e9"/><file name=".gitignore" hash="9f6f103604ff61fefab90284a3af151f"/><file name=".php_cs" hash="7383fe829a424e77676e5eb40b7e9fb1"/><file name=".travis.yml" hash="aa8dea5871c51a1f22a2a43a83ec9665"/></dir><dir name="phpunit-mock-objects"><file name="CONTRIBUTING.md" hash="149ad32bc7cc38dfe8daef9e7969812e"/><file name="LICENSE" hash="da658d4f706c367641055579050c99c3"/><file name="README.md" hash="1fdf261027c33e510051976e7c6d8bc8"/><dir name="build"><file name="travis-ci.xml" hash="591eba48dc5657a7da46d96a93f0ef64"/></dir><file name="build.xml" hash="d06f51d617153002f7eb2e58c6aeeded"/><file name="composer.json" hash="aeb7480d149884d1147139eaf84b0863"/><file name="phpunit.xml.dist" hash="5a24d450e5fd33b7d3ba94534760aec7"/><dir name="src"><dir name="Framework"><dir name="MockObject"><dir name="Builder"><file name="Identity.php" hash="51cb171c7bc0a1d08b9e3d7c82ffb50b"/><file name="InvocationMocker.php" hash="f3265feaac2b407f10ac7c8bf9580ed3"/><file name="Match.php" hash="d8c90156a1c7604b41f95114ae4a750d"/><file name="MethodNameMatch.php" hash="87502f374289f5b7c6d43f899e26663e"/><file name="Namespace.php" hash="87d1cd6b72224a4dec697a27dda36bd6"/><file name="ParametersMatch.php" hash="ad92cb20c0a6dfa72f060f3ce6f8bf46"/><file name="Stub.php" hash="35bc9d96217cadc1f062cfc32d2a8ea0"/></dir><dir name="Exception"><file name="BadMethodCallException.php" hash="8f712b7f04ffabc963a15653ec472c09"/><file name="Exception.php" hash="b47ad9ec7d35b76eec99e315463a8b7a"/><file name="RuntimeException.php" hash="6512a1dccf5bfd861205be86cfd6c598"/></dir><dir name="Generator"><file name="mocked_class.tpl.dist" hash="55f676a312cc45c42a7691c4d4351118"/><file name="mocked_class_method.tpl.dist" hash="acb8585a1bce4ab386e86c3353dd9480"/><file name="mocked_clone.tpl.dist" hash="2f0b14324e73b77dd1315736e1e11498"/><file name="mocked_method.tpl.dist" hash="3daec0214ac48f0e43966cf5b46dd8f2"/><file name="mocked_static_method.tpl.dist" hash="75846eefc31428191eb943baf618be3f"/><file name="proxied_method.tpl.dist" hash="6928d80250e73f04ab832498c480a1f2"/><file name="trait_class.tpl.dist" hash="d0a66ce2e7335ef792a63cbfed42eaef"/><file name="unmocked_clone.tpl.dist" hash="2d78ddcca5eedf55d33c562ef3adb100"/><file name="wsdl_class.tpl.dist" hash="86502f9e14bf669aeff396de4fcbf6d0"/><file name="wsdl_method.tpl.dist" hash="b87ff1b355250565af7d5ec7c877c8d7"/></dir><file name="Generator.php" hash="ad9ad1e9482674fdeea731b115b1fc0a"/><dir name="Invocation"><file name="Object.php" hash="0696f9fcdfde9becefb0e6ab04dfea15"/><file name="Static.php" hash="01ae5321bdf4b68bd9820e83c6be6647"/></dir><file name="Invocation.php" hash="e0ad1d1167c0903575209cba5747b71a"/><file name="InvocationMocker.php" hash="39d234813a778c12c54c05bb1a90cc5f"/><file name="Invokable.php" hash="e8567f90f69216f5dbe188d8ece33f8d"/><dir name="Matcher"><file name="AnyInvokedCount.php" hash="e4443681be94e8b9a9eca0bc1d2e20a7"/><file name="AnyParameters.php" hash="583f41e61c642cbc5a549e7b49eec172"/><file name="ConsecutiveParameters.php" hash="2bd0078a243dfc97829b96e0edf287e9"/><file name="Invocation.php" hash="28b2c504eaf21da3b243e874ef5ce0c6"/><file name="InvokedAtIndex.php" hash="f05bdcd91f906af3eee267faef86657f"/><file name="InvokedAtLeastCount.php" hash="e4a5e570bacdc2f64fa92614693c5c63"/><file name="InvokedAtLeastOnce.php" hash="781dc917cc98695850eb578374eb4d4f"/><file name="InvokedAtMostCount.php" hash="a65f6687be6edba862b937bfba8b481e"/><file name="InvokedCount.php" hash="2cc0078bc0b8db1b6cb6cd3cf21c19f9"/><file name="InvokedRecorder.php" hash="0c9469efd068d09d1d8b535f4454af6e"/><file name="MethodName.php" hash="e32b3130fa9509fd75e40cc2ad9cbaa7"/><file name="Parameters.php" hash="2f3005941d64fb24400a3c1f2dd54037"/><file name="StatelessInvocation.php" hash="b27122ae04b52af26ac9e728afdc6002"/></dir><file name="Matcher.php" hash="6d2e29b4b5e07a6c350ff86fe8c0a062"/><file name="MockBuilder.php" hash="064431c1a63f936cd738196c65cd448b"/><file name="MockObject.php" hash="2c834a37485edbdd0aaf924e3b9e06a1"/><dir name="Stub"><file name="ConsecutiveCalls.php" hash="ce2be776f266f68030c02b6ae44c09a1"/><file name="Exception.php" hash="9309a901f89bb19a9f6e0456faf997a9"/><file name="MatcherCollection.php" hash="63ff40fa34de3e6a6a3a454ec62334ee"/><file name="Return.php" hash="52eae36d9354ee75cdef671438472187"/><file name="ReturnArgument.php" hash="474f49c77b6f30a4ef94f5adb3fd3dcb"/><file name="ReturnCallback.php" hash="ac7e41fec3c8f6cdffd847a09ef53669"/><file name="ReturnSelf.php" hash="eb79bc9db4000280d71f5a6a29a08571"/><file name="ReturnValueMap.php" hash="a7829768a90e5a9508f8edb4a1d33919"/></dir><file name="Stub.php" hash="c7db02488916a49d3c140889291eb318"/><file name="Verifiable.php" hash="f18efaaa2e2a64ee1e241e51875c8a92"/></dir></dir></dir><dir name="tests"><file name="GeneratorTest.php" hash="0792dcee9830234bed5a1b38b5fae5e2"/><file name="MockBuilderTest.php" hash="fe018bdb2662daff6cf77932e2b470cc"/><dir name="MockObject"><file name="232.phpt" hash="cd9ebb49be1aa79733322e1d89c2a157"/><dir name="Invocation"><file name="ObjectTest.php" hash="f630a224bb271d9eaf8d4bd145bf08ca"/><file name="StaticTest.php" hash="f1ccc7529510510769614b6151cd24ff"/></dir><dir name="Matcher"><file name="ConsecutiveParametersTest.php" hash="e937dca04b77763e46a8a98caab7d19c"/></dir><file name="abstract_class.phpt" hash="eb2ee3074a1b8aab9728b8aec6bcd26d"/><file name="class.phpt" hash="d482887d24472554666f496741d0da6b"/><file name="class_call_parent_clone.phpt" hash="30b4b8790aa06b2eea28c1854136f779"/><file name="class_call_parent_constructor.phpt" hash="71d9b383e8440a344fc4b51505c05931"/><file name="class_dont_call_parent_clone.phpt" hash="6fa2aa214bcba0b7e5fb0fa0fa2bd153"/><file name="class_dont_call_parent_constructor.phpt" hash="71d9b383e8440a344fc4b51505c05931"/><file name="class_implementing_interface_call_parent_constructor.phpt" hash="cdce78f696999058a868e93c399a7746"/><file name="class_implementing_interface_dont_call_parent_constructor.phpt" hash="cdce78f696999058a868e93c399a7746"/><file name="class_partial.phpt" hash="5fbe11ef4bc425679da8e96205496b40"/><file name="class_with_method_named_method.phpt" hash="3ca57395dbd174909fb04726200c55fd"/><file name="class_with_method_with_variadic_arguments.phpt" hash="89ca2423578551d876f3aff661048b9e"/><file name="interface.phpt" hash="095f08957eaacdfd4f5da5df11b4fd73"/><file name="invocation_object_clone_object.phpt" hash="726e8539dca51b6e0f23fb8ba21cf563"/><file name="namespaced_class.phpt" hash="157355e4024d7a361d49313dcadbbb9d"/><file name="namespaced_class_call_parent_clone.phpt" hash="f2393554b5aab6820b5175e66afbd79d"/><file name="namespaced_class_call_parent_constructor.phpt" hash="7a1d3cd13b25e8d12bf79548d116d65f"/><file name="namespaced_class_dont_call_parent_clone.phpt" hash="09471b5a615d43048ccc467da0c50620"/><file name="namespaced_class_dont_call_parent_constructor.phpt" hash="7a1d3cd13b25e8d12bf79548d116d65f"/><file name="namespaced_class_implementing_interface_call_parent_constructor.phpt" hash="418d7bbd655faf5d849a3163a2e217e3"/><file name="namespaced_class_implementing_interface_dont_call_parent_constructor.phpt" hash="418d7bbd655faf5d849a3163a2e217e3"/><file name="namespaced_class_partial.phpt" hash="f0d6dd819189f537be8387bc48c9195f"/><file name="namespaced_interface.phpt" hash="73b11ee902fdead39677845213c34cb8"/><file name="nonexistent_class.phpt" hash="279d36c88ee270cfe273f396e9f5dd1e"/><file name="nonexistent_class_with_namespace.phpt" hash="ceaffb80bf14788c981197f2db77d247"/><file name="nonexistent_class_with_namespace_starting_with_separator.phpt" hash="55f7304da089ae0c3e79704117e6c28a"/><file name="proxy.phpt" hash="20ea05e2d411298ebb324c91da632cd2"/><file name="scalar_type_declarations.phpt" hash="24e7188f668aeede4830d6893083b4f8"/><file name="wsdl_class.phpt" hash="33b7044efd7e586bcc8e41e66758188c"/><file name="wsdl_class_namespace.phpt" hash="20125ff707c4652ca8f66583a3d8ccff"/><file name="wsdl_class_partial.phpt" hash="4640a82f3dcd2f4a68105e7a37140cc9"/></dir><file name="MockObjectTest.php" hash="44e8d97c90e23259528a1dd3b7de52ff"/><file name="ProxyObjectTest.php" hash="db29eb5fe880acb825da6f580ec0bd81"/><dir name="_fixture"><file name="AbstractMockTestClass.php" hash="7fedbceab74d50c0389173b2750bc8b6"/><file name="AbstractTrait.php" hash="a569607ba756ad04c9eb54418629274d"/><file name="AnInterface.php" hash="3fbb32606c934d3b2cf9269279e17bdb"/><file name="AnotherInterface.php" hash="7e39c0d6c02f842746b83ab2bee70083"/><file name="Bar.php" hash="e121d3ccf5d91a9b7f58bfa0c6d65170"/><file name="ClassThatImplementsSerializable.php" hash="098715b44124928aacbdc2461952da79"/><file name="ClassWithStaticMethod.php" hash="9d842f43adcf7bf0b2cfd3720b9fbcbf"/><file name="Foo.php" hash="4f99cf6e1e068c9e84f2105dc6696679"/><file name="FunctionCallback.php" hash="909f1cbeb89e59eb4060d11d7e8630dd"/><file name="GoogleSearch.wsdl" hash="309c4d0f17b641f7d768eba5c3e6d201"/><file name="InterfaceWithStaticMethod.php" hash="5dcbb878c5e0e737997e0b14e9d7d75c"/><file name="MethodCallback.php" hash="b2a5220f5b70d0d4f89556d2b9785398"/><file name="MethodCallbackByReference.php" hash="4696b7840f03b6bec046eaafe50a4c65"/><file name="MockTestInterface.php" hash="2feeed1fbe7ad7ec9cf61c870c00c78c"/><file name="Mockable.php" hash="2cae810a709eb96c1e48b8dbd7ca4a98"/><file name="PartialMockTestClass.php" hash="080ad9c31520f0e33a7e08a2ac283ae2"/><file name="SingletonClass.php" hash="c3cacebec6a1c3c6c82ee6cacaa154ce"/><file name="SomeClass.php" hash="43b6974b319e49c0e66d37b0861f1a38"/><file name="StaticMockTestClass.php" hash="bded1ca716f19816a676ecb1684383ed"/><file name="TraversableMockTestInterface.php" hash="cbd71e09a26e622036b18b7848c71939"/></dir><file name="bootstrap.php" hash="2e1e3f6846591e5ac2054446ee487432"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="0d705da550468e75879d49de19f97233"/><file name=".travis.yml" hash="ffc81be284a658c7908fa7770d914827"/></dir></dir><dir name="ramsey"><dir name="uuid"><file name="CHANGELOG.md" hash="3f2526416736d3705c4d853a4cd4c06f"/><file name="CODE_OF_CONDUCT.md" hash="5ea9031440f3df53da39caf270b51c5a"/><file name="CONTRIBUTING.md" hash="42982172aee0def55b91afa5b1873d97"/><file name="LICENSE" hash="16ad646ed43d98a273cc76c420571091"/><file name="README.md" hash="bdb3015f7a3c110e88d8b731e477baee"/><dir name="bin"><file name="uuid" hash="ce1fc89843965f6a79b138d9abd549bb"/></dir><file name="composer.json" hash="9108e1f919cd0676b4e12bdfe595ab2e"/><dir name="src"><dir name="Console"><file name="Application.php" hash="64b902c68afd8960c05b68eaab1b0964"/><dir name="Command"><file name="DecodeCommand.php" hash="4fb5d849bc972c9bf9a8c464af176245"/><file name="GenerateCommand.php" hash="567fd5e7f090ca5dc11af7d5bbfda072"/></dir><file name="Exception.php" hash="36c7e4c279033b791215724e50e4ebde"/><dir name="Util"><file name="ErrorHandler.php" hash="4bafc91dd714ace73702fc8d97ef6dca"/></dir></dir><dir name="Doctrine"><file name="UuidType.php" hash="39416bd8d5ab9ffa1471932dc1fcd650"/></dir><dir name="Exception"><file name="UnsatisfiedDependencyException.php" hash="17d7f59c368ae4f8bb2ec03358bf3da3"/><file name="UnsupportedOperationException.php" hash="ff743fb8d7553c12180464e528765898"/></dir><file name="Uuid.php" hash="ac52477ff255901b2d525d242e2c48bc"/></dir></dir></dir><dir name="react"><dir name="promise"><file name="CHANGELOG.md" hash="34501fdaf4d5b123228d382157ab8d57"/><file name="LICENSE" hash="f84e3eeb09ef3e2e64d447ff99ac5abc"/><file name="README.md" hash="3d5a727fde12ace6af37efc89a90ad13"/><file name="composer.json" hash="fc46bb2af2c4912cd48017b193e5e459"/><file name="phpunit.xml.dist" hash="54159067089d41e57648c7c86d5d9390"/><dir name="src"><file name="CancellablePromiseInterface.php" hash="1d8feeea39ac3cd66f2c041f0f6589f0"/><file name="CancellationQueue.php" hash="a4c08c4e86d0319fb6040a2de6d6a4d5"/><file name="Deferred.php" hash="a922b6f8f9d7f8525ddc2c5704eb1377"/><dir name="Exception"><file name="LengthException.php" hash="8a62fa0ba1f093f23e661d663aa0f852"/></dir><file name="ExtendedPromiseInterface.php" hash="1a287908208d527bbbe6e3128af84d26"/><file name="FulfilledPromise.php" hash="040356e14925e0689d9b88449d5e57e5"/><file name="LazyPromise.php" hash="22592f8b135ec8ac575a02d24bbec70a"/><file name="Promise.php" hash="476e8b8de1d8769fbd5119cf341e88a1"/><file name="PromiseInterface.php" hash="488da4a38d218ba8fb3eaea05dd1c264"/><file name="PromisorInterface.php" hash="d7bf061df9395a7cf5fd082805e42c7a"/><file name="RejectedPromise.php" hash="71b65bbf4a214bd21a1e0f834495ade0"/><file name="UnhandledRejectionException.php" hash="034bb15bedb7cb1161f1c7ecab05506a"/><file name="functions.php" hash="dc7d83bfd442653abb10651abf5271e1"/><file name="functions_include.php" hash="4da7302e4ed0862c6fa885a3c66bcd01"/></dir><dir name="tests"><file name="CancellationQueueTest.php" hash="2c89ba88fb50e68f22bf3c13e2d68459"/><file name="DeferredTest.php" hash="5fb76a8bd96a79598d69afb9bcc8c1e1"/><file name="FulfilledPromiseTest.php" hash="20e21c11b19ec8b46a47fc072e7a9e0c"/><file name="FunctionAllTest.php" hash="c2ee53ecc37d95fc55c57912477c215a"/><file name="FunctionAnyTest.php" hash="413610570a6cb5d042416e8bde51edab"/><file name="FunctionCheckTypehintTest.php" hash="b48395c507606f68d32150ddfc28ae0d"/><file name="FunctionMapTest.php" hash="b8eca6a5cc754c0679de43a640235ccc"/><file name="FunctionRaceTest.php" hash="2878e1b2463db6c71aa9dddc014087b5"/><file name="FunctionReduceTest.php" hash="69aacb2089019087b8d99ff72bc46347"/><file name="FunctionRejectTest.php" hash="4209c5e6b051b3c065b4a8e1e32949dd"/><file name="FunctionResolveTest.php" hash="9d6464105f1045870311c47d166b0642"/><file name="FunctionSomeTest.php" hash="e323f8ff6b6595ba3b21ddec311d3af5"/><file name="LazyPromiseTest.php" hash="f3f8f1e47ebf5097d726086c785a7b20"/><dir name="PromiseAdapter"><file name="CallbackPromiseAdapter.php" hash="3429d665b2a9dd4a9d3606af69db5c17"/><file name="PromiseAdapterInterface.php" hash="a02b0b5e52a71149688f7bef8894fcda"/></dir><dir name="PromiseTest"><file name="CancelTestTrait.php" hash="ba67c52a09c265733f3b1a8c5f94c562"/><file name="FullTestTrait.php" hash="e82099e47b8fe984b7f5ff832c811b9b"/><file name="NotifyTestTrait.php" hash="314ba252939f84fd2885064409d4247d"/><file name="PromiseFulfilledTestTrait.php" hash="d83a22d7b2792a2e067447533ef80598"/><file name="PromisePendingTestTrait.php" hash="ca94a285a8ac4b0f402f9915025997a9"/><file name="PromiseRejectedTestTrait.php" hash="e8a1bd5d800d800ae18b60cf48ff6710"/><file name="PromiseSettledTestTrait.php" hash="2b4de2fa354193aa5d577d2996713eb0"/><file name="RejectTestTrait.php" hash="11d13fb0d33113764df7ad81981e3ff5"/><file name="ResolveTestTrait.php" hash="e8786f5b09a518feb6cb991ec28093df"/></dir><file name="PromiseTest.php" hash="52115d5d217329509a33bf33ca3efc54"/><file name="RejectedPromiseTest.php" hash="e72e7e3d7bc3e7779ea1b8383604a263"/><dir name="Stub"><file name="CallableStub.php" hash="aa2c5ca5528276a340c013c950c3c792"/></dir><file name="TestCase.php" hash="4c1e0a05effe1354008b82a9c903b5b9"/><file name="bootstrap.php" hash="ac271c71e8caa31202d61356508b7c32"/><dir name="fixtures"><file name="SimpleFulfilledTestPromise.php" hash="c10445bad05e8ed99d7188242eaa0f6a"/><file name="SimpleFulfilledTestThenable.php" hash="c342e3cef7419fb13ff81c2351791c45"/><file name="SimpleRejectedTestPromise.php" hash="789f84d3e6fa41a8d14ad6d7d2c66200"/><file name="SimpleTestCancellable.php" hash="da3a3aec297ba9b099406800c95c2a3e"/><file name="SimpleTestCancellableThenable.php" hash="3e2e14ed71266da456a61a836ceb9bf1"/></dir></dir><file name=".gitignore" hash="96ee6db351a60970506e58144d14350d"/><file name=".travis.yml" hash="96798bac69035df1cf69fe12dc8abce9"/></dir></dir><dir name="ronanguilloux"><dir name="isocodes"><file name="LICENSE" hash="d32239bcb673463ab874e80d47fae504"/><file name="Makefile" hash="e59bb4d5208464e0ea5666214de0ddea"/><file name="README.md" hash="443638c5d5336ebc865330f84d49eb61"/><file name="composer.json" hash="42d31dd3c80a906c95936f82a3dcf06a"/><file name="composer.lock" hash="2170cdd5197afb2fa4abfae92f298647"/><file name="phpunit.xml.dist" hash="2903cd6018dd889cd7ce9ec218cda440"/><dir name="src"><dir name="IsoCodes"><file name="Bban.php" hash="900e1153f3409e6c28180e1008c84e7a"/><file name="Cif.php" hash="f38729be8a5b11dc2ddc6ac15b7c35cd"/><file name="CreditCard.php" hash="dd053b9d8f756e27ca591227c1354b3d"/><file name="Ean13.php" hash="cca450670571a441846a59a12da6f894"/><file name="IP.php" hash="c353de7845a49980ea95b4399fc3737a"/><file name="Iban.php" hash="8cae4837d45326e40acff22a2bf41e52"/><file name="Insee.php" hash="10cf9f73be624e3fe8bd48c111637afc"/><file name="Isbn.php" hash="209fe551f0d09e7d09cd450275f49604"/><file name="Isbn10.php" hash="a9f1e5e24e182c380f3b85b3bb748c9b"/><file name="IsoCodeInterface.php" hash="32f7fc50e723c80063213df9228ceacd"/><file name="Nif.php" hash="972623e25255c38c5f48a0cf04de2f33"/><file name="OrganismeType12NormeB2.php" hash="0bf01080d8b0b3afb804b7edafac3f69"/><file name="Siren.php" hash="50faf12256fd2a52e272a1dbd87f92d4"/><file name="Siret.php" hash="82d53b333d1a2570b7ef873a37aa4cfa"/><file name="Ssn.php" hash="7d7e33d3659c4c30e3aec405327aad8c"/><file name="StructuredCommunication.php" hash="90443fe4e0e89c3c6ca4fa1fd84cd05b"/><file name="SwiftBic.php" hash="7e002d5a22913a7ea864c7a87f232ec6"/><file name="Uknin.php" hash="3c170835ea2b75e80e1c1700ceec23ca"/><file name="Vat.php" hash="edf36fd1db511aec1433671ad4046f5d"/><file name="ZipCode.php" hash="32e6bfe6f3af69363a0b14537590b768"/></dir></dir><dir name="tests"><dir name="IsoCodes"><dir name="Tests"><file name="BbanTest.php" hash="6f1b12f08ed1cd0f15714f5db5825973"/><file name="CifTest.php" hash="21b21b3aa695fef05acf51c5b1788460"/><file name="CreditCardTest.php" hash="5bed260e6a5a34d8e42f3e06405f86be"/><file name="Ean13Test.php" hash="36c439b0cb9ef839e05162cfe1636732"/><file name="IPTest.php" hash="8a7c426744c519d444b2e04172119239"/><file name="IbanTest.php" hash="37acc9279a95771e635d7639306ef032"/><file name="InseeTest.php" hash="e0211183520e7b4c4e3964a2d52b6f33"/><file name="Isbn10Test.php" hash="878a8e888ade4f241b66e2862d135e23"/><file name="IsbnTest.php" hash="f046a0ada320fffd799147b8a2967d13"/><file name="NifTest.php" hash="c2854e65e74a68f50f055184f1f94a1f"/><file name="OrganismeType12NormeB2Test.php" hash="742261d5b9eef682e750cd734441c75c"/><file name="SirenTest.php" hash="76202bc2ec6391908e2d96788362d6bc"/><file name="SiretTest.php" hash="67d734f2211751f2ad8b3cdc5eb07677"/><file name="SsnTest.php" hash="1912ddf5f44603b4ac176143f416658f"/><file name="StructuredCommunicationTest.php" hash="7d508876f8c87fc8d7855b075494108c"/><file name="SwifBicTest.php" hash="5450ea81a7087fd127c6c4e3e542812f"/><file name="UkninTest.php" hash="21a141faa12da3bd3d351846baaf53f9"/><file name="VatTest.php" hash="ba9a0524a0551dac26080600ce300c7a"/><dir name="ZipCodes"><file name="CanadaTest.php" hash="4ef8012ffed08222ba62d6734b785035"/><file name="FranceTest.php" hash="c46fb6df1d3dbf223cd497b54d7c5c03"/><file name="NetherlandsTest.php" hash="42a4850dcc4d954416d626cc4bbc300d"/><file name="PortugalTest.php" hash="7bb9fa3b3c01410203984b415bfa1535"/><file name="SpainTest.php" hash="5bebaf9b065a9f451dec47af31fa3188"/><file name="USTest.php" hash="facbbdfaea8b9f5483b14d029a784bb3"/><file name="ZipCodeTest.php" hash="90653cb5ab64f2d9b22133817db6d3b8"/></dir></dir></dir><file name="bootstrap.php" hash="2c4525bf41b526af3eda8d7c241f3d38"/></dir><file name=".coveralls.yml" hash="a943c8999e585a71436ae81db992b595"/><file name=".gitignore" hash="c6efea63cecbb52a205c42c4ac9bd99e"/><file name=".scrutinizer.yml" hash="59a8bcfad6b7b2b02842a23905a3cb73"/><file name=".travis.yml" hash="6d05d4cee642fb0264386de7d751df4c"/></dir></dir><dir name="sebastian"><dir name="comparator"><file name="LICENSE" hash="6d9e4164842194f3678065ca96aafc2b"/><file name="README.md" hash="806ffa51e11e5999d44b661cccfa4ae1"/><dir name="build"><file name="travis-ci.xml" hash="fc882618ee88ff07ab7e7fe54d499c8f"/></dir><file name="build.xml" hash="41f209813c40420d64a73845995ff5b9"/><file name="composer.json" hash="88c3437b68f86bd2e0e2d11c7f177ac8"/><file name="phpunit.xml.dist" hash="6b15adabab03c37ac9db087bd6c8616e"/><dir name="src"><file name="ArrayComparator.php" hash="459e9490fe7cd2e17dd3b0d997668a61"/><file name="Comparator.php" hash="e9623dc7fee4b1d5c9338f05cacea7ce"/><file name="ComparisonFailure.php" hash="4986c4af7c70c0ae76c85a9f4bfd13f8"/><file name="DOMNodeComparator.php" hash="9453d7665e2604be7fcfdd0889547eae"/><file name="DateTimeComparator.php" hash="2b028fdc63a6dc0c29f7c8b411bc78a3"/><file name="DoubleComparator.php" hash="9db2a68fa6377cdad8dbaac986a5dd7e"/><file name="ExceptionComparator.php" hash="6ae21adbbe27c150f3d13eb75b9ae9aa"/><file name="Factory.php" hash="f6e31cb4b7d9ae836fc8544198070511"/><file name="MockObjectComparator.php" hash="87c16d2472e6b233238d4c8c045758f0"/><file name="NumericComparator.php" hash="3f9f22c36d1ebd9960f2b0398f7bf63c"/><file name="ObjectComparator.php" hash="3c545b47390cf8b4f7056a07c7f16f06"/><file name="ResourceComparator.php" hash="c7404f4cc5a704b1e2ff8dace4d5789b"/><file name="ScalarComparator.php" hash="8bb2fd1ddac0bf843983364cea637936"/><file name="SplObjectStorageComparator.php" hash="eeb68e7a1b65c009a45957c872bed7e2"/><file name="TypeComparator.php" hash="00a006ce4ddaa8f6158da379e1a8ff07"/></dir><dir name="tests"><file name="ArrayComparatorTest.php" hash="5a56e596907fa051183487b591eaea45"/><file name="DOMNodeComparatorTest.php" hash="f2aaae72f57407fa217f7add0e9e393a"/><file name="DateTimeComparatorTest.php" hash="bccce0914fdfbe59b4a6d53dfe0e3cd3"/><file name="DoubleComparatorTest.php" hash="2310a6497dc5defa4c90dfd3a1c304e7"/><file name="ExceptionComparatorTest.php" hash="aaad1c445f068174239a646394a66ea7"/><file name="FactoryTest.php" hash="7f3b61dc86a5210313cf7ded3f09a04d"/><file name="MockObjectComparatorTest.php" hash="7c68197da379b65e76ca7aa1fe4b7c9c"/><file name="NumericComparatorTest.php" hash="ee98c54e7c1ac614fbb34f612906433c"/><file name="ObjectComparatorTest.php" hash="3d7a781401f1bc54934fe0d9f7b85ba1"/><file name="ResourceComparatorTest.php" hash="6649cc00c890f2afa4f55a39c416c9b2"/><file name="ScalarComparatorTest.php" hash="d3036a537ea89ae23370f3e72910e341"/><file name="SplObjectStorageComparatorTest.php" hash="d542ebae4527a3b7bc20dade8af3cbde"/><file name="TypeComparatorTest.php" hash="d78b4e6c380ae8bc338d8cd50a40b2ed"/><dir name="_files"><file name="Author.php" hash="bd551237dbd13ad6e98245f83a12f1ec"/><file name="Book.php" hash="fe14f4d0318259bf566d8866991bd4ec"/><file name="ClassWithToString.php" hash="ac27ddf96f7fd8626a46ce4ee3993f81"/><file name="SampleClass.php" hash="46c89df9fdfae7dc574287eda28eb6a3"/><file name="Struct.php" hash="913bf3b33bfff6a1626481d44a9b7f33"/><file name="TestClass.php" hash="ebcf3cf1a7b37fbf68cab0d3679b324a"/><file name="TestClassComparator.php" hash="a8fb9aaf92b9ede1fa149840d03771d4"/></dir><file name="autoload.php" hash="9cce468ff2690d0297beee40726b1030"/><file name="bootstrap.php" hash="236e083331e4efbb858c8da45fb5a5ea"/></dir><file name=".gitignore" hash="6688911322aac3a70b11a38dad9e5bee"/><file name=".travis.yml" hash="386c3106699df022ab3bc0d33eabb5e0"/></dir><dir name="diff"><file name="LICENSE" hash="ca6d5850c9cb3496928f50964fac3bbe"/><file name="README.md" hash="deda2c28563bfd81de81ebb1370252e5"/><file name="build.xml" hash="bd8c09cdf0c219d2306df98aa01fc82f"/><file name="composer.json" hash="73b8b9ce272e5895c019b77f5dde35ef"/><file name="phpunit.xml.dist" hash="4ada0ec19d14c052fddc93e8acce9e37"/><dir name="src"><file name="Chunk.php" hash="48aff449fd592e8cfd828e1320732218"/><file name="Diff.php" hash="767c2f6c24f92573138bb97147d083dc"/><file name="Differ.php" hash="e7b046e3b830cbb3238bc07cd8562649"/><dir name="LCS"><file name="LongestCommonSubsequence.php" hash="9c88dd5715c0e060df9721f4e0eca9ff"/><file name="MemoryEfficientLongestCommonSubsequenceImplementation.php" hash="db896c39093c2e2b13868df3b36f4473"/><file name="TimeEfficientLongestCommonSubsequenceImplementation.php" hash="556fa3911d1d845d182ab728d2b0db98"/></dir><file name="Line.php" hash="d2df085fbc6a2d5140c4e91ae31a9326"/><file name="Parser.php" hash="d611eabd628ad0bb99b4e09acca42fb3"/></dir><dir name="tests"><file name="DifferTest.php" hash="67430770efa2b3068fb6f74ff17c1735"/><dir name="LCS"><file name="TimeEfficientImplementationTest.php" hash="552b8927d6d9e35ab546853b281047ad"/></dir><file name="ParserTest.php" hash="b18c7a3bce69004ce424e25500b3ce69"/><dir name="fixtures"><file name="patch.txt" hash="aaf128a73cff1714cd5c6d0a89e76fcd"/><file name="patch2.txt" hash="3fd15fc72b373fe05f91b4299ab2742e"/></dir></dir><file name=".gitignore" hash="58796666bf28f25566f3600e965a82c4"/><file name=".php_cs" hash="77b172af028295312321c8c33de28155"/><file name=".travis.yml" hash="24c8c43884cc8c08e5f49a0bfe5fe304"/></dir><dir name="environment"><file name="LICENSE" hash="dbf0045647f54a51ab90ec8b006cff3f"/><file name="README.md" hash="2d76476b44815d03c0809ec5146a1dd5"/><file name="build.xml" hash="26e9c4c6b6377625a25ce5190158a271"/><file name="composer.json" hash="0e6610aac61b74a9d6f9ea1cd431c400"/><file name="phpunit.xml" hash="1aa9f46a7dfea9b0a3790a0330113b92"/><dir name="src"><file name="Console.php" hash="dd0fdfb1368b839f7764c4bfc5f3684c"/><file name="Runtime.php" hash="6885e32096216a4ccbf27025bfee17c6"/></dir><dir name="tests"><file name="ConsoleTest.php" hash="82cf1178f74353a49879b5fcd4b18032"/><file name="RuntimeTest.php" hash="e2c3aac76daf7143cccdfcb8c3fac4c5"/></dir><file name=".gitignore" hash="8bbdb64474762aac4076738e138d0567"/><file name=".travis.yml" hash="87e6036734954fccced4646f76c42451"/></dir><dir name="exporter"><file name="LICENSE" hash="ca5308c75c627563e786a486b66b58d5"/><file name="README.md" hash="9731148da5ff0ca1ad7925fbf1b0c5c9"/><file name="build.xml" hash="049acac14b593bbbf793d4d831f68143"/><file name="composer.json" hash="907effe11632adcbe92a5458038f0540"/><file name="phpunit.xml.dist" hash="c83bc64a2b552d037530e57760cc6470"/><dir name="src"><file name="Exporter.php" hash="2e4cd1cb7d88ead4b083c52f04a93e26"/></dir><dir name="tests"><file name="ExporterTest.php" hash="dace42ca6b97076cd59d792b19f21816"/></dir><file name=".gitignore" hash="d57866403d240c90949b91ac746df06d"/><file name=".travis.yml" hash="c304e66ee9f79a8e983fd9cb5e88f86e"/></dir><dir name="global-state"><file name="LICENSE" hash="6c65a6464f0d7d694c3ffc09d0d0c319"/><file name="README.md" hash="abb7bf8924e43274b107ac482af2fa2d"/><file name="build.xml" hash="6984ca27d9261a7d15f6062d68f9917f"/><file name="composer.json" hash="1fa2aabf6d581180599e5005b48a1d22"/><file name="phpunit.xml.dist" hash="7c7c435927d78945b7ca4ec1d6dadb2d"/><dir name="src"><file name="Blacklist.php" hash="7ac61709615673f33c042470bf098fd3"/><file name="CodeExporter.php" hash="7a8ce26c56cf4435bf9378ade094ddae"/><file name="Exception.php" hash="e5e040acdd60402728fa7222f784946b"/><file name="Restorer.php" hash="ff082139937d7ac654dc00aca4048522"/><file name="RuntimeException.php" hash="157c6e7d8fa97749d30807c5db4a71f7"/><file name="Snapshot.php" hash="e9a33047d2225395575291d0630be9c2"/></dir><dir name="tests"><file name="BlacklistTest.php" hash="950104eb10dd9f8686729da9d989a51d"/><file name="SnapshotTest.php" hash="9f68892b53fbf3e412bf5fe7cecc365e"/><dir name="_fixture"><file name="BlacklistedChildClass.php" hash="89c4830f5056b641bf1d0e397b193108"/><file name="BlacklistedClass.php" hash="e2f5de9a4cf6de3942b105df12a20a31"/><file name="BlacklistedImplementor.php" hash="9103e52d8cd91e7a6771999f01a34683"/><file name="BlacklistedInterface.php" hash="f452c1ee77cba262d99d534d384f064e"/><file name="SnapshotClass.php" hash="9267f3a300d464721992fb3de35f23ea"/><file name="SnapshotDomDocument.php" hash="7ed58da936892662ab37922107b274db"/><file name="SnapshotFunctions.php" hash="f01959a08b45cf051f6dd07be2e8d131"/><file name="SnapshotTrait.php" hash="a54916b8b8f9dbfa7b5123fbed35e513"/></dir></dir><file name=".gitignore" hash="a61ea0cf9eab158a6f63ff536744746a"/><file name=".travis.yml" hash="54683a386bf74e6ccd12040370c4db79"/></dir><dir name="recursion-context"><file name="LICENSE" hash="72511fcbecf891440f34e9dcd3c995c9"/><file name="README.md" hash="dc962844e83d16aa4cc9f4acb5209f0b"/><file name="build.xml" hash="3f9fe7c26b37319cb257a6ca2a5e0d93"/><file name="composer.json" hash="e96087f0cd3f427ac07c1f2d5e32686b"/><file name="phpunit.xml.dist" hash="44782f10d1ae1d0ab67e03be2068549f"/><dir name="src"><file name="Context.php" hash="9a18077776c911f0a1325f4c15c60378"/><file name="Exception.php" hash="0f84fba818b684c3163ffdfd1754f6d8"/><file name="InvalidArgumentException.php" hash="4babb8647d1e938e8e37fddcf465ce03"/></dir><dir name="tests"><file name="ContextTest.php" hash="1ac8f07d1fe1f162741f161e27df5c63"/></dir><file name=".gitignore" hash="d57866403d240c90949b91ac746df06d"/><file name=".travis.yml" hash="fa3ba0b60448f6c880a66f4bb4260a5e"/></dir><dir name="version"><file name="LICENSE" hash="4ce80303f482fe6c5a07929ddbc80147"/><file name="README.md" hash="69d774cde2e397a13078fbaf108caaf8"/><file name="composer.json" hash="2d145b55932ff4596f23a37053712e5b"/><dir name="src"><file name="Version.php" hash="852905ae26e23d94e8d92781f4acc746"/></dir><file name=".gitattributes" hash="4925aa0fa603ab62f1b327710cc9b790"/><file name=".gitignore" hash="9c5d192e07030c7f565a5e83e5443df2"/></dir></dir><dir name="squizlabs"><dir name="php_codesniffer"><file name="CONTRIBUTING.md" hash="eb203c96bf3faa47a4f8bce2e534b1d8"/><dir name="CodeSniffer"><file name="CLI.php" hash="44fb6eb79d158b4ec0003ea90071b6b8"/><dir name="DocGenerators"><file name="Generator.php" hash="c80023edf2f4afd0044e6c901f199dca"/><file name="HTML.php" hash="4f0ce5b293ea33dcf97e6eab9405c7a3"/><file name="Markdown.php" hash="e596e5220486410c6a758cda902de05e"/><file name="Text.php" hash="19c67e6b9e152ec21fb155153c9bd58c"/></dir><file name="Exception.php" hash="fcaff899659ddcfaeb17e4d1ab9dd9df"/><file name="File.php" hash="c4040f7827076747d8714c8702248f24"/><file name="Fixer.php" hash="876993b4e4fcee264ee65e90cecf18e5"/><file name="Report.php" hash="c8bcf1243ebd7a9a5884ecb9d7edf309"/><file name="Reporting.php" hash="89ca0bd640518147fec4d54f13c2d308"/><dir name="Reports"><file name="Cbf.php" hash="f78579254be2fd2eead238edc025bee2"/><file name="Checkstyle.php" hash="70e28381d94bff5ac4d00aac0b636f37"/><file name="Csv.php" hash="011193949bc8af69ce20c5f867501306"/><file name="Diff.php" hash="f1bb18cab402593f919d342dd9794fae"/><file name="Emacs.php" hash="035bebb7d774f7df0ec0566f9d5b337b"/><file name="Full.php" hash="310baa75d5c4728fdf87446c7a995e7b"/><file name="Gitblame.php" hash="6f6c697bc99e9e684928635a1459b517"/><file name="Hgblame.php" hash="82ff0dfdefcd86d94c1b96c1005a329a"/><file name="Info.php" hash="7860d1b756f54fff5d889324eb6ebc62"/><file name="Json.php" hash="9ded97b8409765eef7e42193532408c2"/><file name="Junit.php" hash="3b0bddc8a314d512d65d153f93b3d988"/><file name="Notifysend.php" hash="54d188973bd37cca52d2625d6f75a1b3"/><file name="Source.php" hash="b7e3feaeab8d61393e63325214d7a0c1"/><file name="Summary.php" hash="31b9ee6833ed99a714457d2610cf2ae7"/><file name="Svnblame.php" hash="3e3c83bf07027814ef1df55f1a32c34b"/><file name="VersionControl.php" hash="feb78cfae0ea5ab9c65cd9a1ed23bc50"/><file name="Xml.php" hash="f5747f32e9bfbd0b866661bfbb4c7342"/></dir><file name="Sniff.php" hash="74dda3d7952cbf3d2990605bead7c70d"/><dir name="Standards"><file name="AbstractPatternSniff.php" hash="81f0cf1715ade3c5add0661fdb1cb58d"/><file name="AbstractScopeSniff.php" hash="add53c1d5738fb91bd090547b79466c4"/><file name="AbstractVariableSniff.php" hash="ac49c598e882152e348b2aadbd03e081"/><dir name="Generic"><dir name="Docs"><dir name="Classes"><file name="DuplicateClassNameStandard.xml" hash="09ce1ee2e667e285e0bc6f12c6b16eae"/><file name="OpeningBraceSameLineStandard.xml" hash="66d42eef4d0a5b13accd228ec38c0dfd"/></dir><dir name="CodeAnalysis"><file name="EmptyStatementStandard.xml" hash="dd1e8e78d5fd132c488682442a9f4993"/><file name="ForLoopShouldBeWhileLoopStandard.xml" hash="5fca871f5bfd3d3e117b2455e4885662"/><file name="ForLoopWithTestFunctionCallStandard.xml" hash="1968d3305bc8940872beef2ded3c4f72"/><file name="JumbledIncrementerStandard.xml" hash="abbc0419b5ddbd094d5b6d69a26f72ac"/><file name="UnconditionalIfStatementStandard.xml" hash="1dac87dae57656578fa8b1ba782189bb"/><file name="UnnecessaryFinalModifierStandard.xml" hash="74ed244fa9d088197a068e8de61e9a4f"/><file name="UnusedFunctionParameterStandard.xml" hash="78c7daf9578d2624de66f5172f3af5c5"/><file name="UselessOverridingMethodStandard.xml" hash="4bc3a1be74cf86956c395c61f49b3a5e"/></dir><dir name="Commenting"><file name="FixmeStandard.xml" hash="b3dcec93c508f3be380818c2a8d35865"/><file name="TodoStandard.xml" hash="0cc4f95f8f7a3883300743bb88850013"/></dir><dir name="ControlStructures"><file name="InlineControlStructureStandard.xml" hash="f6049fa662dbed93aacb719c79225592"/></dir><dir name="Debug"><file name="CSSLintStandard.xml" hash="ba59a6b43ae935db6c23434ee65b676e"/><file name="ClosureLinterStandard.xml" hash="b2cd9c46f2bc007d81272d324b25f333"/><file name="JSHintStandard.xml" hash="3a5efd9d84e677fc3bd05ac5d414a22b"/></dir><dir name="Files"><file name="ByteOrderMarkStandard.xml" hash="b137c1376a2664010fdda00645ba52a4"/><file name="EndFileNewlineStandard.xml" hash="b03178b04285d4a12dc253753552a7d0"/><file name="EndFileNoNewlineStandard.xml" hash="443cfd71e7194e09ad00f6ce79ce6d67"/><file name="InlineHTMLStandard.xml" hash="70eb8afbb2b964437d0d8ef76059b76f"/><file name="LineEndingsStandard.xml" hash="2b5ae42cdcc266ea919e65b1183dbe4b"/><file name="LineLengthStandard.xml" hash="5d6ef4a4de5a13c34e0813bbfb34cc1b"/><file name="LowercasedFilenameStandard.xml" hash="268e378573427e71991bca18907d18a9"/><file name="OneClassPerFileStandard.xml" hash="bc717d744854037a100dbce2c482ddc4"/><file name="OneInterfacePerFileStandard.xml" hash="85b5b9f411af797487fcd569a238638b"/></dir><dir name="Formatting"><file name="DisallowMultipleStatementsStandard.xml" hash="645c798d2c00fac7036e7a6e6c8d3466"/><file name="MultipleStatementAlignmentStandard.xml" hash="7f6084ced23147c15bb031f85b23cbc4"/><file name="NoSpaceAfterCastStandard.xml" hash="9aba38605e1ef11f846b614055e7e02e"/><file name="SpaceAfterCastStandard.xml" hash="7b75c5b04193a312260f03779705714e"/></dir><dir name="Functions"><file name="CallTimePassByReferenceStandard.xml" hash="db368fdd693d9b10290c734c02e1859e"/><file name="FunctionCallArgumentSpacingStandard.xml" hash="c649b370eee7429572a8abb283363b30"/><file name="OpeningFunctionBraceBsdAllmanStandard.xml" hash="72e2b9b475a809e76fd9ca90bd5d8d9a"/><file name="OpeningFunctionBraceKernighanRitchieStandard.xml" hash="4488d3c4648045eceebdbd102d6645a0"/></dir><dir name="Metrics"><file name="CyclomaticComplexityStandard.xml" hash="e6f564da68adaf4ba9ef330ae9090133"/><file name="NestingLevelStandard.xml" hash="abb8f4e2e3681c96a6be26de1482769c"/></dir><dir name="NamingConventions"><file name="CamelCapsFunctionNameStandard.xml" hash="a132b1e5f691bafab3ac6ac589582102"/><file name="ConstructorNameStandard.xml" hash="15d11a08a93c27be384ebffd88a14ac5"/><file name="UpperCaseConstantNameStandard.xml" hash="92ab09457475cb363e4c16564700682e"/></dir><dir name="PHP"><file name="BacktickOperatorStandard.xml" hash="442be3c8ee6d95e3e6a49756e3c58b23"/><file name="CharacterBeforePHPOpeningTagStandard.xml" hash="643f4a24c9fd9f0a3e9ddc2fb01b1454"/><file name="ClosingPHPTagStandard.xml" hash="2b1998ff7bfe27550b3545ab493fb451"/><file name="DeprecatedFunctionsStandard.xml" hash="a07b3389c1392b1fb8a8fdf56456c2d3"/><file name="DisallowAlternativePHPTagsStandard.xml" hash="b62c48449691f536534b4eb6aca7e378"/><file name="DisallowShortOpenTagStandard.xml" hash="1a934313b977708b83f932787395cc7b"/><file name="ForbiddenFunctionsStandard.xml" hash="56c1aa1d971883d75f2fad3eea8c14be"/><file name="LowerCaseConstantStandard.xml" hash="1ac683475da256800f880b37efd9feae"/><file name="LowerCaseKeywordStandard.xml" hash="7b9a8104c185c6de35d9d59a0d41ba0e"/><file name="NoSilencedErrorsStandard.xml" hash="4587e7de5431c46dcaa9153c20e223d3"/><file name="SAPIUsageStandard.xml" hash="2354242590f88b89aafdd52e9a254b52"/><file name="UpperCaseConstantStandard.xml" hash="a8835c84ae940bed241fda507a000d38"/></dir><dir name="Strings"><file name="UnnecessaryStringConcatStandard.xml" hash="dbf7a1b01e799ba2fbc6ce8288af2afa"/></dir><dir name="VersionControl"><file name="SubversionPropertiesStandard.xml" hash="9bbed11883b0ea004b0bc823a145a7d0"/></dir><dir name="WhiteSpace"><file name="DisallowSpaceIndentStandard.xml" hash="72862f24ee2c5fbf1adce94ea182e5d0"/><file name="DisallowTabIndentStandard.xml" hash="9b6f8015f2c468e83f8fdd6c3b365ca8"/><file name="ScopeIndentStandard.xml" hash="e9569d4b81b45d746ab8217ee8f87136"/></dir></dir><dir name="Sniffs"><dir name="Arrays"><file name="DisallowLongArraySyntaxSniff.php" hash="2d586d06e34aa60f2238e892bc7579f6"/><file name="DisallowShortArraySyntaxSniff.php" hash="b6bfc07b7a5f0d81142a40ee493b4cfe"/></dir><dir name="Classes"><file name="DuplicateClassNameSniff.php" hash="4ccd95ee5a097f1c00665f2e5e81a108"/><file name="OpeningBraceSameLineSniff.php" hash="8fa0bb4bad4fb7f442b31d2cc18ca8ea"/></dir><dir name="CodeAnalysis"><file name="EmptyStatementSniff.php" hash="b22309167844ffb5540c04a270ae9618"/><file name="ForLoopShouldBeWhileLoopSniff.php" hash="20389bfc94da62d165c90828a90c8f04"/><file name="ForLoopWithTestFunctionCallSniff.php" hash="345238ceed51d3dc55639c342ef148e8"/><file name="JumbledIncrementerSniff.php" hash="db7d82a9f54c49578de4efc3936e811c"/><file name="UnconditionalIfStatementSniff.php" hash="02f2aac3017af0f79aa1613d88c86450"/><file name="UnnecessaryFinalModifierSniff.php" hash="56ca0b8915a217e42326777d5b099dde"/><file name="UnusedFunctionParameterSniff.php" hash="cdb37619bd916ac4875a71d367324663"/><file name="UselessOverridingMethodSniff.php" hash="092498d1ccd2e87ba30457f5af1e2ee6"/></dir><dir name="Commenting"><file name="DocCommentSniff.php" hash="c0a770a32a50a7776bd0428f602c4d54"/><file name="FixmeSniff.php" hash="6d764dd792c0fa00be8f71ca3244bd01"/><file name="TodoSniff.php" hash="441b5621b00abd697911bcbbd73f32ff"/></dir><dir name="ControlStructures"><file name="InlineControlStructureSniff.php" hash="deee4620fab7bfb1692b4ed8fcbe2559"/></dir><dir name="Debug"><file name="CSSLintSniff.php" hash="9fed64e6de34c36f65192169a8763d9c"/><file name="ClosureLinterSniff.php" hash="95beadd638acba6a7dba66d5f21e6de6"/><file name="JSHintSniff.php" hash="451820155ca49e5808757a38cb09280d"/></dir><dir name="Files"><file name="ByteOrderMarkSniff.php" hash="d1b76bd9ab3cbfffffb4ef48d736929a"/><file name="EndFileNewlineSniff.php" hash="db2c957aee4ba0665dc1aaa9d4ea1d96"/><file name="EndFileNoNewlineSniff.php" hash="5ecfd27e5cc389fb44a19e79b5547162"/><file name="InlineHTMLSniff.php" hash="33069686617204b88d373d192d654e8d"/><file name="LineEndingsSniff.php" hash="27d3608dd4c4ecb407c93a210c1baee2"/><file name="LineLengthSniff.php" hash="ca801b6a271c03602c377d0c01211f66"/><file name="LowercasedFilenameSniff.php" hash="15abae2435a2b9737f4d1499a4860766"/><file name="OneClassPerFileSniff.php" hash="16cbe1efa7634b50f41fc2f3ea69e96b"/><file name="OneInterfacePerFileSniff.php" hash="52bd0807cfec860723d6ea4b7e3e8b01"/><file name="OneTraitPerFileSniff.php" hash="60b66d78cf2dd8aa810fc815205eefb3"/></dir><dir name="Formatting"><file name="DisallowMultipleStatementsSniff.php" hash="1109a0680aaa449f9dbf5e91cafc9536"/><file name="MultipleStatementAlignmentSniff.php" hash="8a677bd9f0612397599a1be0265110b5"/><file name="NoSpaceAfterCastSniff.php" hash="a6455ae37b29de0c12d47e3e9f5cc885"/><file name="SpaceAfterCastSniff.php" hash="13170798700540b941c2dfb89ef8c075"/><file name="SpaceAfterNotSniff.php" hash="9a7c633d2f45f8ab23cb726186526d4b"/></dir><dir name="Functions"><file name="CallTimePassByReferenceSniff.php" hash="9298f1adedbdad787f01ce75a56562fe"/><file name="FunctionCallArgumentSpacingSniff.php" hash="d6e3b9482495d04fdb5e801e7407db28"/><file name="OpeningFunctionBraceBsdAllmanSniff.php" hash="1a0d4af6f44ee92961e9e91211f31912"/><file name="OpeningFunctionBraceKernighanRitchieSniff.php" hash="7ee36b8c44ef373639b0b1ebda5b07c5"/></dir><dir name="Metrics"><file name="CyclomaticComplexitySniff.php" hash="c84a398b81b2417ffbf88afde475cad7"/><file name="NestingLevelSniff.php" hash="fcf3f1a2d10537228a76a8b22e441748"/></dir><dir name="NamingConventions"><file name="CamelCapsFunctionNameSniff.php" hash="424c9bc3e804c14a014f4d0117c76b49"/><file name="ConstructorNameSniff.php" hash="9a9c5a41da67d16a5406c457a4460e4d"/><file name="UpperCaseConstantNameSniff.php" hash="fc9b75da6c71ca1c93e845a1405da96b"/></dir><dir name="PHP"><file name="BacktickOperatorSniff.php" hash="b18b727fed883d71463ded9197e6f3af"/><file name="CharacterBeforePHPOpeningTagSniff.php" hash="c5d77e2e96b5500d25d349aa7e83b7b7"/><file name="ClosingPHPTagSniff.php" hash="1c3f88313a37fc625ead4bff13730ddc"/><file name="DeprecatedFunctionsSniff.php" hash="b2a8dd8a015730dee4f10193cc8feb17"/><file name="DisallowAlternativePHPTagsSniff.php" hash="8a37be24a23dab91e8af109562c4bd60"/><file name="DisallowShortOpenTagSniff.php" hash="4c36becffcc051090bd75c516bd8038f"/><file name="ForbiddenFunctionsSniff.php" hash="eb22d0afca038891bf31ff395ef94160"/><file name="LowerCaseConstantSniff.php" hash="ffc138edbbc8cd07e239f9009478c2e5"/><file name="LowerCaseKeywordSniff.php" hash="3bdf7b176a6f6fb374f4be96b3dc324a"/><file name="NoSilencedErrorsSniff.php" hash="263452d964629d62a6669e26fe05e37d"/><file name="SAPIUsageSniff.php" hash="5159f7cec2865e2e51c743c95dd7cec8"/><file name="SyntaxSniff.php" hash="aaa5a59b18bf4c997d0c7def3de4190b"/><file name="UpperCaseConstantSniff.php" hash="b52467a0b29de456ee209a633a03dd94"/></dir><dir name="Strings"><file name="UnnecessaryStringConcatSniff.php" hash="9aa4b58a9fcd43d9458a73e2439192d4"/></dir><dir name="VersionControl"><file name="SubversionPropertiesSniff.php" hash="9b6d45972d17961d7aaa956be74af216"/></dir><dir name="WhiteSpace"><file name="DisallowSpaceIndentSniff.php" hash="6e6165d653014b9c30a2ac40417136b0"/><file name="DisallowTabIndentSniff.php" hash="aa95186da143fe4952b8b680d128c464"/><file name="ScopeIndentSniff.php" hash="e713b7ab9726ff40527338720a2d5970"/></dir></dir><file name="ruleset.xml" hash="5634ea56fd8938ee1919fd5dbcc38488"/></dir><file name="IncorrectPatternException.php" hash="718b1b62d42e67fae09e1007fcccb1d1"/><dir name="MySource"><dir name="Sniffs"><dir name="CSS"><file name="BrowserSpecificStylesSniff.php" hash="7acf17a6faf5d4fb0eaa3a0befda2516"/></dir><dir name="Channels"><file name="DisallowSelfActionsSniff.php" hash="4100524f47fa8477b449188bcf885432"/><file name="IncludeOwnSystemSniff.php" hash="3224a4e1a3b76e87bf351b893ece8434"/><file name="IncludeSystemSniff.php" hash="d6b6bdab23d62f974d326c7ca19b7105"/><file name="UnusedSystemSniff.php" hash="9a19d5eeb1ac3e70f8b7cd63cbe2acbb"/></dir><dir name="Commenting"><file name="FunctionCommentSniff.php" hash="ac32bb50fc176feaebd5c50a3af2e7d2"/></dir><dir name="Debug"><file name="DebugCodeSniff.php" hash="4c5053faa10a3df769a834eadadd296c"/><file name="FirebugConsoleSniff.php" hash="8478031ab928da0865597d9a86ecb118"/></dir><dir name="Objects"><file name="AssignThisSniff.php" hash="e6337aea9fa7adf2398b2ddfe3107a7b"/><file name="CreateWidgetTypeCallbackSniff.php" hash="595c7c13f383ddfd1cd4f60987c69ec0"/><file name="DisallowNewWidgetSniff.php" hash="8d706d1c95c7a314d3f29911033d01d9"/></dir><dir name="PHP"><file name="AjaxNullComparisonSniff.php" hash="d64742d5f90a34615d1989ca650c47f9"/><file name="EvalObjectFactorySniff.php" hash="9ec43c35f6f179651fabf0cd8c2814e5"/><file name="GetRequestDataSniff.php" hash="5f909824aa56fb41c0f6c3fdb92e62ee"/><file name="ReturnFunctionValueSniff.php" hash="426b265f357b27aa4ee8952c4e3e9686"/></dir><dir name="Strings"><file name="JoinStringsSniff.php" hash="1a60705df1af47e14940d503a5788ede"/></dir></dir><file name="ruleset.xml" hash="48cf8281e8635fbeff9877e198591054"/></dir><dir name="PEAR"><dir name="Docs"><dir name="Classes"><file name="ClassDeclarationStandard.xml" hash="164cd0bfba5d5ee4cb9830ae09d623da"/></dir><dir name="Commenting"><file name="ClassCommentStandard.xml" hash="b557565c04bfcd627ed7752642a24390"/><file name="FileCommentStandard.xml" hash="8f30301ab881c174ace42c99a099df37"/><file name="FunctionCommentStandard.xml" hash="b48803219478b3548e97777433547c8b"/><file name="InlineCommentStandard.xml" hash="116cdb66f41357afea1ccde91bf3a782"/></dir><dir name="ControlStructures"><file name="ControlSignatureStandard.xml" hash="206ad4e5ab7b5ede4deb4ed512a9d8b7"/><file name="MultiLineConditionStandard.xml" hash="bcc768189b74dd3d530281c01138a7e9"/></dir><dir name="Files"><file name="IncludingFileStandard.xml" hash="770028f85deb584a9479374f0ae4a3c9"/><file name="LineLengthStandard.xml" hash="dee46187d37f8fb07869fdc80230d94f"/></dir><dir name="Formatting"><file name="MultiLineAssignmentStandard.xml" hash="e1ac447c084d84b6daef68437ed212cc"/></dir><dir name="Functions"><file name="FunctionCallSignatureStandard.xml" hash="eb647b510eb0e12cc38780b435ea7c28"/><file name="FunctionDeclarationStandard.xml" hash="8b78bd675f5f511a263f5cc4ed672a74"/><file name="ValidDefaultValueStandard.xml" hash="c06cfd422bd0448fea890c5f160aaaa4"/></dir><dir name="NamingConventions"><file name="ValidClassNameStandard.xml" hash="7a8cb7f0170d43276b8d2269cf91c4d1"/><file name="ValidFunctionNameStandard.xml" hash="9a148130eea909affd2bf4085c175515"/><file name="ValidVariableNameStandard.xml" hash="16059d7e2176ab2178e3da7150fa4926"/></dir><dir name="WhiteSpace"><file name="ObjectOperatorIndentStandard.xml" hash="f35f1608d67b5c38d76eeb778d8617cc"/><file name="ScopeClosingBraceStandard.xml" hash="a449ba78ece1fb077585b031e8410925"/><file name="ScopeIndentStandard.xml" hash="98576702129bc924dfb0749417b19b17"/></dir></dir><dir name="Sniffs"><dir name="Classes"><file name="ClassDeclarationSniff.php" hash="abd1110e1c9c14b1267812e39d43a2be"/></dir><dir name="Commenting"><file name="ClassCommentSniff.php" hash="dd96eb718b1e28098ca87029b4593eb7"/><file name="FileCommentSniff.php" hash="bc5f5711074d6b130442ab9cb549507f"/><file name="FunctionCommentSniff.php" hash="19037d07e7a4272b9a46e5d1340b1ca6"/><file name="InlineCommentSniff.php" hash="715fa3e8f200b18e493908014eadcc71"/></dir><dir name="ControlStructures"><file name="ControlSignatureSniff.php" hash="b33166fabf57a0ab285e45f648519329"/><file name="MultiLineConditionSniff.php" hash="03c7dd4494b8a0dc13ded7e2c768e75d"/></dir><dir name="Files"><file name="IncludingFileSniff.php" hash="848cc50eda3718608428f06eaa6fdfc4"/></dir><dir name="Formatting"><file name="MultiLineAssignmentSniff.php" hash="ec09ed1ae7f832346afb1a86dc077fd6"/></dir><dir name="Functions"><file name="FunctionCallSignatureSniff.php" hash="fc53eddb0334b6ed75024458999d1a01"/><file name="FunctionDeclarationSniff.php" hash="49675cb134b71b020ed89f5a27f29b18"/><file name="ValidDefaultValueSniff.php" hash="4fd00d8e3a431e994b192d21782a2f7c"/></dir><dir name="NamingConventions"><file name="ValidClassNameSniff.php" hash="3424d838c657820e800404e8538a9957"/><file name="ValidFunctionNameSniff.php" hash="5ce00e5f99c43226832fc0babc5acbc5"/><file name="ValidVariableNameSniff.php" hash="a6b8461b87fbec90686e86cf3c28047c"/></dir><dir name="WhiteSpace"><file name="ObjectOperatorIndentSniff.php" hash="b98aafbdf047883a09cb90604da27451"/><file name="ScopeClosingBraceSniff.php" hash="0d93e5cfe33ed8fc36671abd872df6d7"/><file name="ScopeIndentSniff.php" hash="2f7b47c18bc50220420872c433948fdd"/></dir></dir><file name="ruleset.xml" hash="d9513c5d11c22a87665420631a15b135"/></dir><dir name="PHPCS"><file name="ruleset.xml" hash="4b12af262260edcf0f21a0cc1e38a435"/></dir><dir name="PSR1"><dir name="Docs"><dir name="Classes"><file name="ClassDeclarationStandard.xml" hash="c500324edd32dd6d5fac4e233aa866fa"/></dir><dir name="Files"><file name="SideEffectsStandard.xml" hash="7b0907673957b7bf80663696a663ff6c"/></dir></dir><dir name="Sniffs"><dir name="Classes"><file name="ClassDeclarationSniff.php" hash="aed268b4be1f79780eadf1e0f147c424"/></dir><dir name="Files"><file name="SideEffectsSniff.php" hash="5fbc0ead0078e3c98d3ad2b87d00d5f6"/></dir><dir name="Methods"><file name="CamelCapsMethodNameSniff.php" hash="96d27d4a502daa9ccb475706f56469d0"/></dir></dir><file name="ruleset.xml" hash="8e8b5361060ad9c2e04af9a422990c68"/></dir><dir name="PSR2"><dir name="Docs"><dir name="Classes"><file name="ClassDeclarationStandard.xml" hash="5b48bb68ed1e69ec9f8c5f349e93f506"/><file name="PropertyDeclarationStandard.xml" hash="ce8e43eca80ef382865008eb8bf764e4"/></dir><dir name="ControlStructures"><file name="ControlStructureSpacingStandard.xml" hash="8282fe64de19569eb1756ae2ff7d1947"/><file name="ElseIfDeclarationStandard.xml" hash="031188d15bcfd9a39c10f409c8974799"/><file name="SwitchDeclarationStandard.xml" hash="b3b65f2db67599c695442624cf174073"/></dir><dir name="Files"><file name="EndFileNewlineStandard.xml" hash="17a9a0d20c5d932df90a36101f7fe18f"/></dir><dir name="Methods"><file name="MethodDeclarationStandard.xml" hash="1104ac650d64515e5e668b3f4b44ec79"/></dir><dir name="Namespaces"><file name="NamespaceDeclarationStandard.xml" hash="bc5fb6d5b29b3fc3900268a230ccb954"/><file name="UseDeclarationStandard.xml" hash="ec4ccfb1593a8fb624f14a6ffecd1181"/></dir></dir><dir name="Sniffs"><dir name="Classes"><file name="ClassDeclarationSniff.php" hash="5faa421b73e5e210aebac2f676823988"/><file name="PropertyDeclarationSniff.php" hash="b19776bf9fb94ce4739a1a8c9421dbb9"/></dir><dir name="ControlStructures"><file name="ControlStructureSpacingSniff.php" hash="e47fb675a6e1a6761c4226607cf4e6b3"/><file name="ElseIfDeclarationSniff.php" hash="03bb6b1efe4de2bbe801633b7ae4b4e4"/><file name="SwitchDeclarationSniff.php" hash="55a5a7dfd1e564022479a978a4d1cc95"/></dir><dir name="Files"><file name="ClosingTagSniff.php" hash="155ef899693c33c65cec5cf695051a79"/><file name="EndFileNewlineSniff.php" hash="9956b6ce9a2395525624fe07c0d071fb"/></dir><dir name="Methods"><file name="FunctionCallSignatureSniff.php" hash="6b0e4f3c04eaa46913e53d53a2edfbf1"/><file name="FunctionClosingBraceSniff.php" hash="672f9c51cf3a9efaf280dd91742ea3f9"/><file name="MethodDeclarationSniff.php" hash="4c0227827cb937432472b3ddc3e456e9"/></dir><dir name="Namespaces"><file name="NamespaceDeclarationSniff.php" hash="355c84928985ba36ec6f4beb96fc499e"/><file name="UseDeclarationSniff.php" hash="93bdccf1a01c21d1f23523cc47c80d9b"/></dir></dir><file name="ruleset.xml" hash="35a86388d3bcbce9ab15db790b472d6b"/></dir><dir name="Squiz"><dir name="Docs"><dir name="Arrays"><file name="ArrayBracketSpacingStandard.xml" hash="8f5a3f78a1366c2514b2084c27133a94"/><file name="ArrayDeclarationStandard.xml" hash="29a11a9686378c88104774ac0356d4c3"/></dir><dir name="Classes"><file name="LowercaseClassKeywordsStandard.xml" hash="0d52c96dc30c6d4adc2d18731ebbb8d3"/><file name="SelfMemberReferenceStandard.xml" hash="e0412fbfda98825d5aefeccf05be6d75"/></dir><dir name="Commenting"><file name="DocCommentAlignmentStandard.xml" hash="765734a297db823187564ec0ebd0407c"/><file name="FunctionCommentThrowTagStandard.xml" hash="5b3f89dc3dadb4b51be5c10bcdc90022"/></dir><dir name="ControlStructures"><file name="ForEachLoopDeclarationStandard.xml" hash="631360ae228f9c289d78a19e247fb1cc"/><file name="ForLoopDeclarationStandard.xml" hash="4b9912af0792027aedefc10082a4f9e0"/><file name="LowercaseDeclarationStandard.xml" hash="8c44460bbd8f96bc7b0bec19c504542a"/></dir><dir name="Functions"><file name="FunctionDuplicateArgumentStandard.xml" hash="6dfee2e5c8e62714eb35ffcc43300c90"/><file name="LowercaseFunctionKeywordsStandard.xml" hash="b6ef73ae05dee4d15331ef2868e836f8"/></dir><dir name="Scope"><file name="StaticThisUsageStandard.xml" hash="c5076907ad4f674a6b5570e473b6bdb3"/></dir><dir name="Strings"><file name="EchoedStringsStandard.xml" hash="d920898e7c8b7a595af5993b553a0ba8"/></dir><dir name="WhiteSpace"><file name="CastSpacingStandard.xml" hash="ce8da202c01eb05185917ceec0611879"/><file name="FunctionOpeningBraceStandard.xml" hash="2443b5d38db7776f552c9e1809947c5c"/><file name="LanguageConstructSpacingStandard.xml" hash="2bfda59951f00d64d2e2f21766ebc22b"/><file name="ObjectOperatorSpacingStandard.xml" hash="0bba11ac0fcbe07d1fa86924cdefc1d9"/><file name="ScopeKeywordSpacingStandard.xml" hash="b88249dd363825410343acc26bd519d6"/><file name="SemicolonSpacingStandard.xml" hash="7219a11c03fef4b8cf425148c27052f6"/></dir></dir><dir name="Sniffs"><dir name="Arrays"><file name="ArrayBracketSpacingSniff.php" hash="bf8e4ae63e57a2917624fcc477411e5d"/><file name="ArrayDeclarationSniff.php" hash="642d73e4f071513a2f338dba2132ba1a"/></dir><dir name="CSS"><file name="ClassDefinitionClosingBraceSpaceSniff.php" hash="e03fe7b5c7b7517443e813000a6fa238"/><file name="ClassDefinitionNameSpacingSniff.php" hash="735296d4d1d00d77bcc2a0c8517abe74"/><file name="ClassDefinitionOpeningBraceSpaceSniff.php" hash="373e4f65499fa1f4a04acfbfcf5ee61b"/><file name="ColonSpacingSniff.php" hash="cacd3ff60a89005be50da7b96aa76355"/><file name="ColourDefinitionSniff.php" hash="dee22d39167cc3a7826e63ba38c7bfd2"/><file name="DisallowMultipleStyleDefinitionsSniff.php" hash="3708f3e95f9e90a62d7380f3bd0f2e2d"/><file name="DuplicateClassDefinitionSniff.php" hash="8ff87d892b86364b23f247ef19d99b37"/><file name="DuplicateStyleDefinitionSniff.php" hash="b3c0d44c57303115f22b5aaa892974a8"/><file name="EmptyClassDefinitionSniff.php" hash="d99b8707f3cf99ba791ffde4e8e60a74"/><file name="EmptyStyleDefinitionSniff.php" hash="c79e218e2f748340692049df04be8bab"/><file name="ForbiddenStylesSniff.php" hash="559e47c23d18ea7ad3c02afdd1f9b02f"/><file name="IndentationSniff.php" hash="66af82d471dae23b33fb9b19cc890903"/><file name="LowercaseStyleDefinitionSniff.php" hash="067ad9b5d8965e7229101fe8cee509be"/><file name="MissingColonSniff.php" hash="b12834983fc81f9c1d8eb19640626530"/><file name="NamedColoursSniff.php" hash="36911fd34f8157bd6c781162c0c72e42"/><file name="OpacitySniff.php" hash="b8387d22bb7e94d11accf92fb3aeb772"/><file name="SemicolonSpacingSniff.php" hash="94711172365dde7d8c2f58e0fa83df15"/><file name="ShorthandSizeSniff.php" hash="50fcafb59f5c1923f6d2a08b26fba391"/></dir><dir name="Classes"><file name="ClassDeclarationSniff.php" hash="8f7663bbe8468f80fc33cca2dc252011"/><file name="ClassFileNameSniff.php" hash="eca542525865bf6e1f1ddd4522707c6f"/><file name="DuplicatePropertySniff.php" hash="61754bd9f79fb16428095a872225e03b"/><file name="LowercaseClassKeywordsSniff.php" hash="458c44ee00197ea791d3206218218552"/><file name="SelfMemberReferenceSniff.php" hash="697b015cd587296dc9029683e91322a2"/><file name="ValidClassNameSniff.php" hash="cb890c183184984c5ccdf79d4511df54"/></dir><dir name="Commenting"><file name="BlockCommentSniff.php" hash="c89cec5c6289f33c806a506486003f4d"/><file name="ClassCommentSniff.php" hash="f486b93e70c6b48688e3293319bf17dd"/><file name="ClosingDeclarationCommentSniff.php" hash="d29e04b9fe7a97122f3591580c2cc8a7"/><file name="DocCommentAlignmentSniff.php" hash="c16c421ce1ed2607ab8986176434b71f"/><file name="EmptyCatchCommentSniff.php" hash="b797864c5c33f43ea375c9ead790a213"/><file name="FileCommentSniff.php" hash="fd42a29186a520391a9297e2e93ada22"/><file name="FunctionCommentSniff.php" hash="036074a79dad4de307470d421fc22bb6"/><file name="FunctionCommentThrowTagSniff.php" hash="023ab20220a2fd65ee885497af6a4327"/><file name="InlineCommentSniff.php" hash="9fa252d373553aa0276fb4607b61b6e2"/><file name="LongConditionClosingCommentSniff.php" hash="5736c44c21f51d74a2e1fcb7650ff8c1"/><file name="PostStatementCommentSniff.php" hash="772aeb1f4b76563b00912ffde1836945"/><file name="VariableCommentSniff.php" hash="7057e9edc765eb9c6dd095b5bf10332e"/></dir><dir name="ControlStructures"><file name="ControlSignatureSniff.php" hash="6a7b399370c8fa5cd4e3d900f3a466bb"/><file name="ElseIfDeclarationSniff.php" hash="95f4556dad3ff51386ccc2224225867b"/><file name="ForEachLoopDeclarationSniff.php" hash="54e8d8bf7f0c3106b8aedc895a44b549"/><file name="ForLoopDeclarationSniff.php" hash="3bad37d72857a0043da8ee00cdaf0a89"/><file name="InlineIfDeclarationSniff.php" hash="189c71b18aa59bc75a28d99b63b79495"/><file name="LowercaseDeclarationSniff.php" hash="64e10ecccbdb457d3bf18603cb2b6d1d"/><file name="SwitchDeclarationSniff.php" hash="3f043db18a4f070b6b12d809556ce112"/></dir><dir name="Debug"><file name="JSLintSniff.php" hash="94fecfe4ae3ed6f912d40abcf7b09d78"/><file name="JavaScriptLintSniff.php" hash="177d48ce334f4ae20439773965306e4a"/></dir><dir name="Files"><file name="FileExtensionSniff.php" hash="e61e9d385bbeddb69ecbb41ba1b4850c"/></dir><dir name="Formatting"><file name="OperatorBracketSniff.php" hash="999d29eda12bce40a0c277481d228efa"/></dir><dir name="Functions"><file name="FunctionDeclarationArgumentSpacingSniff.php" hash="f98bfec9f5fafffd91793fceeec2b505"/><file name="FunctionDeclarationSniff.php" hash="2699493818a2bd348d7023a911b362e2"/><file name="FunctionDuplicateArgumentSniff.php" hash="4f747c832ab02e5428810d9a7d6d0fda"/><file name="GlobalFunctionSniff.php" hash="439c85a51dcf872ac083a9fc56ac7afd"/><file name="LowercaseFunctionKeywordsSniff.php" hash="1e74b8ff95314e4010a9fe60be602e58"/><file name="MultiLineFunctionDeclarationSniff.php" hash="d3ed182d2c74276a48d710244fd603ab"/></dir><dir name="NamingConventions"><file name="ValidFunctionNameSniff.php" hash="e76a2cf51fa9a18f4cf26e5027b3800f"/><file name="ValidVariableNameSniff.php" hash="d2e69c572fdda26f230de2bf2b0616f5"/></dir><dir name="Objects"><file name="DisallowObjectStringIndexSniff.php" hash="5a68f621e7738fc930c215a520866633"/><file name="ObjectInstantiationSniff.php" hash="2f83e978fb36b18605904edd4adb278b"/><file name="ObjectMemberCommaSniff.php" hash="d541c7ad40d3ed9cdfc025eee9dda3d7"/></dir><dir name="Operators"><file name="ComparisonOperatorUsageSniff.php" hash="7dae3786eb0ae5a80a5e789b0cf82863"/><file name="IncrementDecrementUsageSniff.php" hash="9560f1f63b0adc1d1f3675682d258436"/><file name="ValidLogicalOperatorsSniff.php" hash="f0932dcc87f9df89e4981c67e05bfd9f"/></dir><dir name="PHP"><file name="CommentedOutCodeSniff.php" hash="a80915bd6f4f48a5007a8aeb8b9380bf"/><file name="DisallowBooleanStatementSniff.php" hash="69f964815628c1cf3e567b9ea3779c9f"/><file name="DisallowComparisonAssignmentSniff.php" hash="07d9f905306828ea1be24aeeafdaca51"/><file name="DisallowInlineIfSniff.php" hash="1c3d3028a31640ef9b61040085796b83"/><file name="DisallowMultipleAssignmentsSniff.php" hash="8fdf278938c08d598890cb059f286859"/><file name="DisallowObEndFlushSniff.php" hash="2c2a5fb3cd79ef749bea638cdd394980"/><file name="DisallowSizeFunctionsInLoopsSniff.php" hash="f54d81636e69ca406eec01d48b96e024"/><file name="DiscouragedFunctionsSniff.php" hash="877e8cd80c742dbcf8682463bef210b3"/><file name="EmbeddedPhpSniff.php" hash="ca9919aa7c1e4f20d12731ba9696d076"/><file name="EvalSniff.php" hash="bc63ca518b7974e8a5decb1adc760ea2"/><file name="ForbiddenFunctionsSniff.php" hash="d3acd3ad6cc54e060acd52b97c97fca4"/><file name="GlobalKeywordSniff.php" hash="d6a4ead0fbb37a335207e509e1553f19"/><file name="HeredocSniff.php" hash="8162604b2b2963a2933407b201ca2032"/><file name="InnerFunctionsSniff.php" hash="8d0657dbd02c24d054df5a656661cbc6"/><file name="LowercasePHPFunctionsSniff.php" hash="31743c20c57664d650ca68e121a3d171"/><file name="NonExecutableCodeSniff.php" hash="e4377aa3151f02b521a5febccb90cc5f"/></dir><dir name="Scope"><file name="MemberVarScopeSniff.php" hash="f0c4dc15af29c48d298d53cf76f21c1e"/><file name="MethodScopeSniff.php" hash="a0d80bffe76eb1bc7c3d47cdb34476c4"/><file name="StaticThisUsageSniff.php" hash="d55c153fa3c8b3369a3152c205ef59db"/></dir><dir name="Strings"><file name="ConcatenationSpacingSniff.php" hash="5978a60f353602c72df61ad2e22aa43e"/><file name="DoubleQuoteUsageSniff.php" hash="d1a327efa3152c10486cebc48bcb23c1"/><file name="EchoedStringsSniff.php" hash="87a14a86bacab4037c300c6e06300a43"/></dir><dir name="WhiteSpace"><file name="CastSpacingSniff.php" hash="95c5c90be5d3a3776aeaa22c435f7192"/><file name="ControlStructureSpacingSniff.php" hash="0e0428b526b96c46e9e1a77de1b7a7b0"/><file name="FunctionClosingBraceSpaceSniff.php" hash="a875a827bf61587ffbcbda2b9b4e3bf1"/><file name="FunctionOpeningBraceSpaceSniff.php" hash="740eaf8232192c4a38f0b95f60340571"/><file name="FunctionSpacingSniff.php" hash="72cbb188f0a74f089e40cc766e15c5ef"/><file name="LanguageConstructSpacingSniff.php" hash="c29607b947ca86bd36c6b88ca8994efa"/><file name="LogicalOperatorSpacingSniff.php" hash="240df2f88577efdc6d74cb0b3aaa3fa5"/><file name="MemberVarSpacingSniff.php" hash="7ac5a88ca85eb4d93d2e92e44936c889"/><file name="ObjectOperatorSpacingSniff.php" hash="dd765b83f5134bc05bcfa1619845118a"/><file name="OperatorSpacingSniff.php" hash="9b34ac965c8c1636c85292cd971366fb"/><file name="PropertyLabelSpacingSniff.php" hash="a012ad05ced2aa0d071ebe1ded55dbae"/><file name="ScopeClosingBraceSniff.php" hash="0a98b1508379dea5461f39e87c12f174"/><file name="ScopeKeywordSpacingSniff.php" hash="9ca7cc3f06d388f19381459d3a1689ee"/><file name="SemicolonSpacingSniff.php" hash="bacb9849f96651f4ae076b813f95aef0"/><file name="SuperfluousWhitespaceSniff.php" hash="21a84374f0a9e947dee04ea980a82bbf"/></dir></dir><file name="ruleset.xml" hash="e67d8d5f409652d711d91e0c68fc230d"/></dir><dir name="Zend"><dir name="Docs"><dir name="Debug"><file name="CodeAnalyzerStandard.xml" hash="df3def6cd28696007438c6bfe673940d"/></dir><dir name="Files"><file name="ClosingTagStandard.xml" hash="5a51bc9e0b47020e47390d251e58231e"/></dir><dir name="NamingConventions"><file name="ValidVariableNameStandard.xml" hash="7498e0cfcbfce753833a75e7749d5de8"/></dir></dir><dir name="Sniffs"><dir name="Debug"><file name="CodeAnalyzerSniff.php" hash="4beaa6a32e64bf1224b5678b264af81c"/></dir><dir name="Files"><file name="ClosingTagSniff.php" hash="90178ad9bb21684143eaba51f1cd1836"/></dir><dir name="NamingConventions"><file name="ValidVariableNameSniff.php" hash="ed723bff912fbafea8601e076ea92952"/></dir></dir><file name="ruleset.xml" hash="49b31a29a6e385f18a8ffe12362ae05b"/></dir></dir><dir name="Tokenizers"><file name="CSS.php" hash="b296c19ef063196ab6b3031d54cbac5c"/><file name="Comment.php" hash="a4a4a034a1aea03744c3536ab718f026"/><file name="JS.php" hash="ce37890f5d74c09609950db75c8cfc6c"/><file name="PHP.php" hash="796391cf43ea423a1340e49366aad8c4"/></dir><file name="Tokens.php" hash="ae00f3e14077092a4efa39f89c66c05b"/></dir><file name="CodeSniffer.conf.dist" hash="73ec809ff8b56cfb0d5c4fcc91ef5584"/><file name="CodeSniffer.php" hash="9231123fcd0df68425111437b4080cfc"/><file name="README.md" hash="788f1e0843aa377a79e21dadce8485df"/><file name="composer.json" hash="050f971076701f366d7cbc7413a49217"/><file name="licence.txt" hash="562f463f305c4d32b4fad9a4b03ad678"/><file name="php5-testingConfig.ini" hash="afd18c07aa3f6e5121e9fa9f0131c88b"/><file name="php7-testingConfig.ini" hash="5a0c0f0e16c46274957c2d77e651ff76"/><file name="phpcs.xml.dist" hash="4d87e23cd58c0696ed266ed5b2fd4416"/><file name="phpunit.xml.dist" hash="743552b59648471ed54139fcf1e7e6dd"/><dir name="scripts"><file name="build-phar.php" hash="d4166c862621ad6b1dd64b7515434d6e"/><file name="phpcbf" hash="266a1b90c2fdbb903a292d443ead6b5a"/><file name="phpcbf.bat" hash="24c290a13dec57a72fa3eac17f4915e8"/><file name="phpcs" hash="8d4abac4c3d748a5d6cc44bb214a19a0"/><file name="phpcs-svn-pre-commit" hash="178af6aacd99ed18e996635bcfb3df17"/><file name="phpcs.bat" hash="7427ae85238962922f8cc0d610e074ea"/></dir><file name=".gitattributes" hash="a36dfac766402b886bab9fcd40ccc379"/><file name=".gitignore" hash="51cce6da93c4bc6dfa41701959089bd5"/></dir></dir><dir name="symfony"><dir name="polyfill-mbstring"><file name="LICENSE" hash="7554338cf4bdd7b6fea8cc8f7119e5c9"/><file name="Mbstring.php" hash="eb0338468c6ff2709d533b88966ad5d5"/><file name="README.md" hash="49820f639e0ceac277a00012ac32822e"/><dir name="Resources"><dir name="unidata"><file name="lowerCase.php" hash="d9906d2ce0acf432769f3e39d076d9f8"/><file name="upperCase.php" hash="593eadd4f6e3791482bfd3a24304ad67"/></dir></dir><file name="bootstrap.php" hash="2e7f80f70de25c72b39fd1b264f5d347"/><file name="composer.json" hash="22e9cbd2ae2995885d5ad8c1fbf1c0c7"/></dir><dir name="translation"><file name="CHANGELOG.md" hash="7deac36b36a51be70115c48fe7b578da"/><dir name="Catalogue"><file name="AbstractOperation.php" hash="40b5d68c2a4e015fb9359d38dc3d2704"/><file name="DiffOperation.php" hash="037b36ae08d8fce4db47130e2806472d"/><file name="MergeOperation.php" hash="9e841b4c2400b9ac25975ed7ed7238f4"/><file name="OperationInterface.php" hash="7e69e361e2d094ec4d8c1db32849b5a7"/><file name="TargetOperation.php" hash="40973792e4b19a5bd9a422b5f85c33b6"/></dir><dir name="DataCollector"><file name="TranslationDataCollector.php" hash="63d0c14d2c017403bec87867e75b47e6"/></dir><file name="DataCollectorTranslator.php" hash="b1bc42f4f5eb7cea77183bcb7631d4d8"/><dir name="Dumper"><file name="CsvFileDumper.php" hash="74b2473e18478d32b6336499fee351ec"/><file name="DumperInterface.php" hash="97df468b756ed060c2d9002ffb331f4c"/><file name="FileDumper.php" hash="d2a5bb032957d2e496ce33b509390ea1"/><file name="IcuResFileDumper.php" hash="dffb38738f36552626bc9454ccd8649c"/><file name="IniFileDumper.php" hash="e48e3d5d664e60f8e365f02a31fec817"/><file name="JsonFileDumper.php" hash="be3087a6457419b4f2eef0cef6619d30"/><file name="MoFileDumper.php" hash="9872d8f3d8bb42cfc5292263ecaefd5a"/><file name="PhpFileDumper.php" hash="6d05a65277ded2f2ca7e7003bc96f1b2"/><file name="PoFileDumper.php" hash="3af617361c5dc16c6759a63b6a5d0b81"/><file name="QtFileDumper.php" hash="49aae57bb4da90843bb190a66af73e4a"/><file name="XliffFileDumper.php" hash="6a516e66975b442f1184d97f4e816b0b"/><file name="YamlFileDumper.php" hash="e74502616eccc33615e41c2205b6ee27"/></dir><dir name="Exception"><file name="ExceptionInterface.php" hash="6d19725e88fa202953264f14f9e1bcf8"/><file name="InvalidResourceException.php" hash="178abc46cb8060f081ef43fd5ff00da5"/><file name="NotFoundResourceException.php" hash="8c7bff66a9500b10fb4d13e1d07e76c0"/></dir><dir name="Extractor"><file name="AbstractFileExtractor.php" hash="922e196d2992816ff03cde4dda49e6e3"/><file name="ChainExtractor.php" hash="ae7e39e6605d8692a31a5f53bd4c8b09"/><file name="ExtractorInterface.php" hash="69260ab08411a3134634ad50b3069546"/></dir><file name="IdentityTranslator.php" hash="327f25230b4d9675ae84d709deaff0d9"/><file name="Interval.php" hash="d700e492948170fb1a905e3e838057cf"/><file name="LICENSE" hash="b4e1c29292cf1d95350bbe72f30d6825"/><dir name="Loader"><file name="ArrayLoader.php" hash="6b9ff855b3939c82c55239b2eaf491ff"/><file name="CsvFileLoader.php" hash="b83e7405ad4f14a87461e6be6d742eb9"/><file name="FileLoader.php" hash="1f2d78c48b8418a06fa1792828984fa3"/><file name="IcuDatFileLoader.php" hash="8d8ad9c1795ba626f4c959e871c2fca7"/><file name="IcuResFileLoader.php" hash="0630737b4602cae8bede1691c8334391"/><file name="IniFileLoader.php" hash="fbded93c3e6686831fa3a59517959500"/><file name="JsonFileLoader.php" hash="21f4dcd6f9d24d76122883e19a987c8b"/><file name="LoaderInterface.php" hash="b27348d511867c046ab123acd216fea3"/><file name="MoFileLoader.php" hash="b3c7b3007a43e39f492520b96b1ab781"/><file name="PhpFileLoader.php" hash="95819dd66e35b888e3c17140d68d750e"/><file name="PoFileLoader.php" hash="2e2fa1e5e05eac4335a8ef39803e1573"/><file name="QtFileLoader.php" hash="3eaf39c6fe0aa704454e29ce0b861da7"/><file name="XliffFileLoader.php" hash="dfa4bc967aef522d02a1bbe06abde3ad"/><file name="YamlFileLoader.php" hash="aae7709e68b89075c838f450cca0b8be"/><dir name="schema"><dir name="dic"><dir name="xliff-core"><file name="xliff-core-1.2-strict.xsd" hash="fd528a896f7c6792b370930f64e58a2a"/><file name="xliff-core-2.0.xsd" hash="afaefe3417450787b59d5a1d4ad1b387"/><file name="xml.xsd" hash="ff48d862939acfe7dc34e2f8df8b14f8"/></dir></dir></dir></dir><file name="LoggingTranslator.php" hash="c252679ce162cf50ce6a45340d1b33be"/><file name="MessageCatalogue.php" hash="af688850f1c4208949f5cc6fe0f1e58a"/><file name="MessageCatalogueInterface.php" hash="8c6ef20c00156405878e3092ae706cdc"/><file name="MessageSelector.php" hash="aa79bd589a5cd3d1c31d9b4bec1fd667"/><file name="MetadataAwareInterface.php" hash="ba4a99528afbf00d106cf58a2c93aced"/><file name="PluralizationRules.php" hash="82e7b5d96432bf86160f8a2ada513c6e"/><file name="README.md" hash="de9e44de9d0ae0fe9c68c7d708281b04"/><dir name="Tests"><dir name="Catalogue"><file name="AbstractOperationTest.php" hash="ef82bc07c69b7711d658500ab7dd1726"/><file name="DiffOperationTest.php" hash="b3dd81aa6b7cbe4e57dde7f903c6dc07"/><file name="MergeOperationTest.php" hash="8e43b4242bce9e6ba7a573eba1a76abf"/><file name="TargetOperationTest.php" hash="ab07da6d70f88d6f82de1931915c7ab3"/></dir><dir name="DataCollector"><file name="TranslationDataCollectorTest.php" hash="08a5018afa4ffd305e15aec52ff1a6d1"/></dir><file name="DataCollectorTranslatorTest.php" hash="6d665046ae873a6cc3ca4f01fd24eb91"/><dir name="Dumper"><file name="CsvFileDumperTest.php" hash="ea20fd0543c88141ef9c349445de489d"/><file name="FileDumperTest.php" hash="3be89ef30f2157c37abe9b943e8179d6"/><file name="IcuResFileDumperTest.php" hash="0eacde48a9de030ec028129c5589e4c4"/><file name="IniFileDumperTest.php" hash="e60c4f96588e4b518742dee1f2e9cd89"/><file name="JsonFileDumperTest.php" hash="2816e37675af5a9a4409ca70ab1c19e9"/><file name="MoFileDumperTest.php" hash="f193c62c28026f67b1364a44e2619d50"/><file name="PhpFileDumperTest.php" hash="bd9bc8191aa254ffb2269c38766f4509"/><file name="PoFileDumperTest.php" hash="4c5404ceeca2b56194cb64e72b093ba7"/><file name="QtFileDumperTest.php" hash="01d855c498ff135ff55d208bcf0493bb"/><file name="XliffFileDumperTest.php" hash="caefc75bcdc1859753276e3da8eca262"/><file name="YamlFileDumperTest.php" hash="d5d512000cafb714cd4a3137b38ed247"/></dir><file name="IdentityTranslatorTest.php" hash="c2707263d00277c173b1596d4386fa7a"/><file name="IntervalTest.php" hash="4c7466038f4c30f7e11bdf01f9de3917"/><dir name="Loader"><file name="CsvFileLoaderTest.php" hash="c56f359209f462724e5c38d54d04aef7"/><file name="IcuDatFileLoaderTest.php" hash="dac51f952448c8f3a961ffd5a7bed7d6"/><file name="IcuResFileLoaderTest.php" hash="4b051d7c1d01e510252d65e07db4be3a"/><file name="IniFileLoaderTest.php" hash="eeb81233e12eacec0fd177f1945d73e3"/><file name="JsonFileLoaderTest.php" hash="3fef347c7f58953bbe1d50b31e1940c6"/><file name="LocalizedTestCase.php" hash="1f49c56aa48f17a7a3a3549bedd91efc"/><file name="MoFileLoaderTest.php" hash="f186ff0d898d6f96c82d2633c204bb5d"/><file name="PhpFileLoaderTest.php" hash="8a494f3c229871a27bb9fab851bb385b"/><file name="PoFileLoaderTest.php" hash="daeec8fa7bdaf9a0cf551ffc6c233941"/><file name="QtFileLoaderTest.php" hash="2722873e9cf782a84462ce616be95f22"/><file name="XliffFileLoaderTest.php" hash="56909dba0cc96627b640c25bb5e78d04"/><file name="YamlFileLoaderTest.php" hash="b14fcada262a8c6207dd0cc66ec1242b"/></dir><file name="LoggingTranslatorTest.php" hash="b237c59e8613ba3d8da6bfb3da5f2393"/><file name="MessageCatalogueTest.php" hash="6a96db6b6b8b8a808f639b19820ed295"/><file name="MessageSelectorTest.php" hash="fbc9a4add2c0e246fb9bc71456f5d243"/><file name="PluralizationRulesTest.php" hash="7aef38f1467f2a5593ab0a32be2fec14"/><file name="TranslatorCacheTest.php" hash="37d2e542aa075e2fc96642181982e2a3"/><file name="TranslatorTest.php" hash="027cf2101f0b4d416e48a8053e48ac15"/><dir name="Util"><file name="ArrayConverterTest.php" hash="0f628c9dd70328b2fe7015812773905c"/></dir><dir name="Writer"><file name="TranslationWriterTest.php" hash="093dcbc3b7c835100cc5b93e45c9209c"/></dir><dir name="fixtures"><file name="empty-translation.mo" hash="4fa3c7b10ae5d6c1b42616ab94776591"/><file name="empty-translation.po" hash="b1a95afebdd5bf7aea9b2e18853e026d"/><file name="empty.csv" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.ini" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.json" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.mo" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.po" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.xlf" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="empty.yml" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="encoding.xlf" hash="65a300d4b0ba0aaeceda8dec0f43631c"/><file name="escaped-id-plurals.po" hash="a6dcdf5a62d961fe330b61698929efa6"/><file name="escaped-id.po" hash="52ee5b52cecd5abc907a4e492e24039b"/><file name="fuzzy-translations.po" hash="879a3efbd681cb64f35474db1c6a3bbf"/><file name="invalid-xml-resources.xlf" hash="9bbb4b898a5bf5df996cd16e81cf28b8"/><file name="malformed.json" hash="69026dcf9b20ba875d6024fa2d8dcd37"/><file name="messages.yml" hash="9cb8cb8a83c46a998452ca08be87763d"/><file name="messages_linear.yml" hash="746e1101a4da5a4f372ccbbeed4e01d1"/><file name="non-valid.xlf" hash="35641dad0a0e32afc365268d7cb35f5c"/><file name="non-valid.yml" hash="d3b07384d113edec49eaa6238ad5ff00"/><file name="plurals.mo" hash="edbf7f268cd369b124286c4eaccc5da6"/><file name="plurals.po" hash="cc4d3e4012a94aa6d416ffba63cec96a"/><file name="resname.xlf" hash="cadcf346671c0adabf12cc639338617c"/><dir name="resourcebundle"><dir name="corrupted"><file name="resources.dat" hash="bc9189406be84ec297464a514221406d"/></dir><dir name="dat"><file name="en.res" hash="d3d7cb5315b72e8a10083800232f975c"/><file name="en.txt" hash="2733cca721edae093bab7183a66fca5c"/><file name="fr.res" hash="bd4fd753b32b205184d61fe901f3cc99"/><file name="fr.txt" hash="18b4f30e392a3ea5e2871c3c0406cd83"/><file name="packagelist.txt" hash="a784644791b85cf23524cb50532459a9"/><file name="resources.dat" hash="5db6756e72842744a2f79e7976a27b27"/></dir><dir name="res"><file name="en.res" hash="936c6496f075090509a4124930e62c25"/></dir></dir><file name="resources-2.0-clean.xlf" hash="2b99f691cce158d0297d1e8ade709192"/><file name="resources-2.0.xlf" hash="f1aa8816ea96fd1f18eca0d8e858e3d2"/><file name="resources-clean.xlf" hash="05606b9e5b3771ccf9fc460d73ae26aa"/><file name="resources-target-attributes.xlf" hash="710cb6e3206f6ffdbd32f62c1f63c567"/><file name="resources-tool-info.xlf" hash="7aa9df22e042260ba4b6b04824a0ef1b"/><file name="resources.csv" hash="349115d44a4b2b57ec0e12d5de001c1f"/><file name="resources.dump.json" hash="387d704689993dcf25cb1791a5af17db"/><file name="resources.ini" hash="a1c5d4a3d4363448836f7df17bd3dac9"/><file name="resources.json" hash="c4739e97d2e782ab9142b7cad4e36383"/><file name="resources.mo" hash="338bee6e134993372c561235d85caf5b"/><file name="resources.php" hash="e5269ae0ff8b573e8e88b98a013a97de"/><file name="resources.po" hash="ebffc260ffc01b8dd02a6a548b13f7a4"/><file name="resources.ts" hash="01ebead5e039c0d1301339fef7b7fd18"/><file name="resources.xlf" hash="3046798068871c144081a6dad3f88e3d"/><file name="resources.yml" hash="721aad13918f292d25bc9dc7d61b0e9c"/><file name="valid.csv" hash="f22180b9a31a19606112508410f0806f"/><file name="with-attributes.xlf" hash="99a065bde70a5c4a40ce6c77e4a949b3"/><file name="withdoctype.xlf" hash="3a566717bf4a4cdca4fa6d9f26b9887d"/><file name="withnote.xlf" hash="68bb66b39cad24277a1a96b5b3a84f81"/></dir></dir><file name="Translator.php" hash="1627aee1186233cbbf8dfa6158962986"/><file name="TranslatorBagInterface.php" hash="f228cb535cff48696f2facd234a1889a"/><file name="TranslatorInterface.php" hash="0fe3e283baf302de2244008ee027eed3"/><dir name="Util"><file name="ArrayConverter.php" hash="48335aaae87f7cf57bf903428fc866ba"/></dir><dir name="Writer"><file name="TranslationWriter.php" hash="4e690ca887376b424ee087d77c3d2f2f"/></dir><file name="composer.json" hash="f3ace5194bda0dd933bcbcac6b6e1f95"/><file name="phpunit.xml.dist" hash="f92b8284e27e925181f6df270d0cda4f"/><file name=".gitignore" hash="a1155c508134e9bda943ae266aee1819"/></dir><dir name="yaml"><file name="CHANGELOG.md" hash="15302a4dfa6d7acceda4b84ee24e9e3e"/><file name="Dumper.php" hash="07f5ceb5785b3ed5fd0293d26b12e900"/><file name="Escaper.php" hash="9c0df286acdbff7b0d7965e684c7e4c6"/><dir name="Exception"><file name="DumpException.php" hash="dc67a59a9101373a0a0aab4d1a37406b"/><file name="ExceptionInterface.php" hash="55d4a87d030efc9426685250882fdf25"/><file name="ParseException.php" hash="1916c19381923a6edcb99bbd510c17b6"/><file name="RuntimeException.php" hash="14010c4f6f5c12606dd5e00ef5855fdc"/></dir><file name="Inline.php" hash="df0ef963ee79415ce3f362f49cff71dc"/><file name="LICENSE" hash="b4e1c29292cf1d95350bbe72f30d6825"/><file name="Parser.php" hash="6bb719558e8620f8cc61b5f9decd0dad"/><file name="README.md" hash="8e75731f3c67d8019b06b5662cfcd1bf"/><dir name="Tests"><file name="DumperTest.php" hash="4da2c209b71e45054f3e938b75b0e663"/><dir name="Fixtures"><file name="YtsAnchorAlias.yml" hash="073781a1d2c37127a4296e9af7616624"/><file name="YtsBasicTests.yml" hash="d2ac58481f14d39084c02832571ca937"/><file name="YtsBlockMapping.yml" hash="4c1744b763fce82db7d4e20c469b20cd"/><file name="YtsDocumentSeparator.yml" hash="7bf3dfb1f027f72bd399f8fd3064eb8e"/><file name="YtsErrorTests.yml" hash="1a6d2fa2a7f53d4657b35baf4ecf67c6"/><file name="YtsFlowCollections.yml" hash="326c09dd8c5de226c680154c39206647"/><file name="YtsFoldedScalars.yml" hash="bf21b6ca89e2aea63b62f60448b841b4"/><file name="YtsNullsAndEmpties.yml" hash="fda05f67ca13f8d50cb904b191039c04"/><file name="YtsSpecificationExamples.yml" hash="8f339996aa888c4cf44daa5d8f8954b4"/><file name="YtsTypeTransfers.yml" hash="94ca9ba8eaec2572eb52b8546da3d07e"/><file name="embededPhp.yml" hash="52dbe7660c58107077d0e7069fe43498"/><file name="escapedCharacters.yml" hash="1b1c84936520b957fff90f3d2cb53f59"/><file name="index.yml" hash="809db138c609075657d8d2e81fabaa5c"/><file name="sfComments.yml" hash="95949da86fadd7120426e391ab6d1b9a"/><file name="sfCompact.yml" hash="835842c734605efa1665b90ccb266b97"/><file name="sfMergeKey.yml" hash="c36291acfb95652bdac59b19f09f4a5d"/><file name="sfObjects.yml" hash="886595fda5f2aa969a232045dbd4941c"/><file name="sfQuotes.yml" hash="49f68edbfc666cc4aaaafce9751a70c2"/><file name="sfTests.yml" hash="3ddc049f3e1ba28a057a4f36703f227f"/><file name="unindentedCollections.yml" hash="cb3d5592f820280da7f1fb6ae74f01f6"/></dir><file name="InlineTest.php" hash="717530b003d55c3ab81886dd1e161007"/><file name="ParseExceptionTest.php" hash="9cd93360139998e8e0b6254e8d73d61a"/><file name="ParserTest.php" hash="46ec2f5b6831c2863402f40cc4f01502"/><file name="YamlTest.php" hash="045b8b7c3ec474ea235652c4909ce2d8"/></dir><file name="Unescaper.php" hash="b5ee19b71d86d4911a5dfbae03bbe283"/><file name="Yaml.php" hash="9c4766606e9ab41bcacab1bc4340ce48"/><file name="composer.json" hash="88b159dab46aef94342c21c9901d9df2"/><file name="phpunit.xml.dist" hash="21b267525440a2988848538342afefac"/><file name=".gitignore" hash="a1155c508134e9bda943ae266aee1819"/></dir></dir><dir name="webmozart"><dir name="assert"><file name="CHANGELOG.md" hash="7207738d13c0d4b237f9cb458dc3d236"/><file name="LICENSE" hash="03bd1369b937396e65a932a1e1260cb4"/><file name="README.md" hash="5e10284cc1d6986bac632af34ecac794"/><file name="appveyor.yml" hash="6fb94ad1aef1ad1b8506d323590d9c7f"/><file name="composer.json" hash="d6358b529a38087d42f405da5e9cd245"/><file name="phpunit.xml.dist" hash="febcd558f882d1e99f3d03d8b266d73f"/><dir name="src"><file name="Assert.php" hash="1dfd4c1c5573ba303d5fc7118d7a915b"/></dir><dir name="tests"><file name="AssertTest.php" hash="60e3ffc79f135847181919e4b4692176"/></dir><file name=".composer-auth.json" hash="decd29831e3babed52fa502241d38b8a"/><file name=".gitignore" hash="1940d66493702c670473d8838c8db01a"/><file name=".styleci.yml" hash="f0d794140a21de9fd8c0c0169f784bb8"/><file name=".travis.yml" hash="d8ca3023ac746710973f4888e3604dba"/></dir></dir></dir></dir></dir></dir></target></contents>
64
  <compatible/>
65
+ <dependencies><required><php><min>5.4.0</min><max>7.1.0</max></php></required></dependencies>
66
  </package>