The pictures and their license:

Pixabay:
------------------------------------------
https://pixabay.com/de/service/terms/#usage
https://creativecommons.org/publicdomain/zero/1.0/deed.de

100EUR.png
10EUR.png
20EUR.png
50EUR.png
5EUR.png


Based on http://fontawesome.io
License: OFL http://scripts.sil.org/OFL
---------------------------------------
dsl_action.png
dsl_aggregate.png
dsl_allinone-1.png
dsl_allinone-2.gif
dsl_allinone-3.gif
dsl_authorization.png
dsl_blip.png
dsl_chart.png
dsl_chart_1.png
dsl_chart_2.png
dsl_cube.png
dsl_datainterchange.png
dsl_datamart.png
dsl_dialog.gif
dsl_dto.png
dsl_entity.png
dsl_expression.png
dsl_filter.png
dsl_format.png
dsl_functionlibrary.png
dsl_hierarchy.gif
dsl_import2.png
dsl_menu.png
dsl_message.gif
dsl_organigram.png
dsl_path.png
dsl_perspective.png
dsl_report.gif
dsl_scsstheme.gif
dsl_strategy.gif
dsl_strategy.png
dsl_table.png
dsl_topology.png

-----------------------------------------

Silk icon set 1.3

_________________________________________
Mark James
http://www.famfamfam.com/lab/icons/silk/
_________________________________________

This work is licensed under a
Creative Commons Attribution 2.5 License.
[ http://creativecommons.org/licenses/by/2.5/ ]

This means you may use it for any purpose,
and make any changes you like.
All I ask is that you include a link back
to this page in your credits.

Are you using this icon set? Send me an email
(including a link or picture if available) to
mjames@gmail.com

Any other questions about this icon set please
contact mjames@gmail.com
--------------------------------------------
flag_canada.png
flag_finland.png
flag_germany.png
flag_mexico.png
flag_sweden.png
flag_swiss.png
flag_turkey.png
flag_united_kingdom.png
flag_usa.png

--------------------------------------------






(C) 2014 Loetz GmbH&Co.KG,  
License: EPL 1.0:
------------------------------------
about.png
badrising.png
bike.png
bomb.png
book.png
box.png
calendar.png
cancel.png
cargo.png
cashregister.png
coins.png
collapse_all.png
collapse_arrow_16.png
collapse_minus_16.png
company.png
companygroup.png
configure.gif
crm.png
css.png
csv_import.png
currency_euro.png
database.png
database_go.png
database_table.png
date.gif
delete.png
dir.txt
dropdown.png
dropdown_2.png
dropedit2.png
dscancel.png
dsdelete.png
dssave.png
edi.png
editor_area.png
employee.png
empty_small.png
excelcsv.png
expand_arrow_16.png
expand_plus_16.png
export.png
fastview_restore.gif
filter.png
filter_except.png
filter_multiple.png
filter_single.png
folder.png
gender_female.png
gender_male.png
goodsloping.png
help.png
html.png
img.png
import.png
information.png
item.png
java.png
java_perspective_16x16.png
javadoc.png
junit.png
length_measure-16x16.png
length_measure-24x24.png
link_to_editor.png
locksview.gif
logout.png
logout_big.png
marital_married.png
marital_single.png
modules.png
new.png
nopic_small.png
notok.png
nuclear.png
ok.png
package.gif
payment_amex.png
payment_cash.png
payment_customer.png
payment_ecmaestro.png
payment_maestro.png
payment_mastercard.png
payment_visa.png
persp_management.png
persp_tasks.png
popup_button_16x16.png
popup_button_17x20.png
popup_button_active_17x20.png
popup_button_hover_17x20.png
print.png
private_field.png
private_method.png
process.png
products.png
project.png
save.png
save_all.png
shipping.png
statistics.png
supplier.png
task_action_claim.png
task_action_complete.png
task_action_delegate.png
task_action_release.png
task_action_resume.png
task_action_skip.png
task_action_start.png
task_action_stop.png
task_action_suspend.png
task_priority_0.png
task_priority_1.png
task_priority_2.png
task_priority_3.png
task_priority_4.png
task_priority_5.png
task_status_completed.png
task_status_created.png
task_status_error.png
task_status_exited.png
task_status_failed.png
task_status_inprogress.png
task_status_obsolete.png
task_status_ready.png
task_status_reserved.png
task_status_suspended.png
tasks.png
text.png
toolbar_button_background_active_23x20.png
toolbar_button_background_hover_23x20.png
trend_rising.png
trend_sloping.png
trend_stagnating.png
truck.png
vaaclipse.png
warehouse.png
welcome.png
xmi.png
xml.png




Other icons:
------------------------------------
pdf-export.png	from	https://www.iconfinder.com/icons/37271/export_pdf_icon#size=24   under   https://creativecommons.org/licenses/by-sa/3.0/


