diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.shiaiVidsSpeedupTest b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.shiaiVidsSpeedupTest new file mode 100644 index 0000000..de171e0 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.shiaiVidsSpeedupTest @@ -0,0 +1,183 @@ +# Makefile für die Verarbeitung der Wettkampfvideos +# +# devVersion für: +# - Beschleunigung der ganzen Sache +# - Reihenfolge der Filter +# - Einbeziehen des Uploads +# - zwei verschiedene Server +# - der erste Pass kommt auf den Hauptserver, auch wenn er größer +# ist; er wird aber auch wieder gelöscht, wenn die nächste +# Videogalerie kommt +# - der zweite Pass kommt auf den Medienserver (unter +# Berücksichtigung der Limitationen wie Einzeldateigrößen) + + +# Systemspezifische Anpassungen (gehören eigentlich in ein +# Makefile.cfg, aber in jedem Wettkampordner eines anlegen, ist wieder +# mühsam) +FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe +#FFMPEG = ffmpeg +GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe +#GUETZLI = /home/marko/proggis/guetzli/bin/Release/guetzli + +DEFAULT_FFMPEG = ffmpeg +#DEFAULT_FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe + +GET_VIDEO_DURATION_JSON = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py + + +# Für eine schnelle Komprimierung libvpx, sonst vp9 +DEFAULT_VID_CODEC_HEIGHT = 360 +DEFAULT_VID_CODEC_WIDTH = -2 +DEFAULT_VID_CODEC_BITRATE = 500k +DEFAULT_VID_CODEC = libvpx-vp9 + +# Standardwerte auf die benutzen Variablen schreiben, falls diese noch +# nicht (z.B. aus dem Terminal heraus oder über ein IncludeCfgFile) +# gesetzt worden sind +VID_CODEC_BITRATE := $(if $(VID_CODEC_BITRATE),$(VID_CODEC_BITRATE),$(DEFAULT_VID_CODEC_BITRATE)) +VID_CODEC_HEIGHT := $(if $(VID_CODEC_HEIGHT),$(VID_CODEC_HEIGHT),$(DEFAULT_VID_CODEC_HEIGHT)) +VID_CODEC_WIDTH := $(if $(VID_CODEC_WIDTH),$(VID_CODEC_WIDTH),$(DEFAULT_VID_CODEC_WIDTH)) +VID_CODEC := $(if $(VID_CODEC),$(VID_CODEC),$(DEFAULT_VID_CODEC)) + +defaultTargetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) +VID_CODEC_DEADLINE := -deadline best +#VID_CODEC_DEADLINE := -deadline realtime + +targetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) + +targetSourceDirectories := $(if $(targetSourceDirectories), $(targetSourceDirectories), $(defaultTargetSourceDirectories)) +sourceVideos = $(wildcard videos/.forCompressing/*.video) + +vidstabLogs = $(addsuffix .trf, $(basename $(sourceVideos))) +firstPassLogs = $(addsuffix .firstPassLog-0.log, $(basename $(sourceVideos))) +webmVideos = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(sourceVideos))))) +jpegThumbs = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(sourceVideos))))) + +# das result= fehlt absichtlich +ffmpegVideoFilterVidstabDetect = vidstabdetect=shakiness=10:accuracy=15 +# das input= fehlt absichtlich +ffmpegVideoFilterVidstabTransform = vidstabtransform=optzoom=2:interpol=bicubic:smoothing=30 + +# Der deinterlaceFilter sollte immer der erste sein! +ffmpegVideoFilterDeinterlace = yadif, +# Der einzige Grund, den ich für Skalierung zuerst gefunden habe, ist, +# dass beim Hochskalieren das Rasschen zunimmt. Mache ich aber nicht. +ffmpegVideoScaleFilter = scale=$(VID_CODEC_WIDTH):$(VID_CODEC_HEIGHT):sws_flags=lanczos, +# nlmeans soll klar besser sein, aber hqdn3d sehr viel schneller +ffmpegVideoFilterDenoise = hqdn3d, +#ffmpegVideoFilterDenoise = hqdn3d, +# Aspect ratio ist eigentlich nur notwendig, wenn das +# Pixelseitenverhältnis nicht 1:1 ist +ffmpegVideoFilterUnsharp = unsharp=5:5:0.8:3:3:0.4 +ffmpegDisplayAspectRatio = 16:9 +#ffmpegDisplayAspectRatio = 9:16 + + +.SECONDARY: $(vidstabLogs) $(firstPassLogs) + +.PHONY: all clean +all: $(webmVideos) $(jpegThumbs) + +clean: + $(RM) \ + $(vidstabLogs) \ + $(firstPassLogs) \ + $(webmVideos) \ + $(jpegThumbs) + +.PHONY: thumbnails +thumbnails: $(jpegThumbs) + +.PHONY: echo +echo: + @echo $(webmVideos) + @echo $(firstPassLogs) + @echo $(targetSourceDirectories) + + +# Erzeugen der Targets +.PHONY: targets +targets: + mkdir -p videos/.forCompressing + for directory in $(targetSourceDirectories) ;\ + do for file in $${directory}/*.*;\ + do \ + checkSum=$$(sha512sum $${file});\ + ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\ + done;\ + done; + +# Die Stabilisierungsberechnung: +# eventuell sollte hier die Skalierung vorgeschaltet werden... +# @toDo: Ist es mit vorheriger Skalierung schneller, oder langsamer? +# Denoise ist in der Stabilisation eigentlich unnötig, ebenso das unsharp +# Die Skalierung sollte vieleicht vor der Stabilisierung stattfinden (und braucht nicht hochwertig zu sein?) +videos/.forCompressing/%.trf: videos/.forCompressing/%.video + $(FFMPEG) -i $^ \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoScaleFilter)$(ffmpegVideoFilterVidstabDetect):result="$@" \ + -f null \ + - + +videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video videos/.forCompressing/%.trf +# -b:v $(VID_CODEC_BITRATE) \ +# -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",nlmeans=s=6:p=5:r=7,$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \ +# wir speichern mal schon den ersten pass, damit haben wir zwar eine +# größere Dateigröße, aber können bereits etwas hochladen +# /dev/null +# First Pass + $(FFMPEG) -i $< \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoScaleFilter)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoFilterUnsharp) \ + -codec:v $(VID_CODEC) \ + -pass 1 \ + -passlogfile "$(basename $<).firstPassLog" \ + -aspect $(ffmpegDisplayAspectRatio) \ + -threads 1 \ + -speed 4 \ + -tile-columns 0 \ + -frame-parallel 0 \ + -g 9999 \ + -aq-mode 0 \ + -an \ + -f webm \ + -y \ + "$(basename $<).webm" + +# target und dependencies müssen noch angepasst werden +# Die erste Abhängigkeit muss das quellVideo sein! +videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/.forCompressing/%.firstPassLog-0.log + mkdir -p videos/webm + $(GET_VIDEO_DURATION_JSON) $< +# -b:v $(VID_CODEC_BITRATE) \ +# Second Pass + $(FFMPEG) -i $< \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoScaleFilter)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \ + -codec:v $(VID_CODEC) \ + -pass 2 \ + -passlogfile "$(basename $<).firstPassLog" \ + $(VID_CODEC_DEADLINE) \ + -b:v $(shell $(GET_VIDEO_DURATION_JSON) $<)k \ + -aspect $(ffmpegDisplayAspectRatio)\ + -threads 1 \ + -speed 0 \ + -tile-columns 0 \ + -frame-parallel 0 \ + -auto-alt-ref 1 \ + -lag-in-frames 25 \ + -g 9999 \ + -aq-mode 0 \ + -an \ + -f webm \ + $@ + +#videos/thumbnails/%.png: videos/.forCompressing/%.video +videos/thumbnails/%.png: videos/webm/%.webm + mkdir -p videos/thumbnails +# $(FFMPEG) -i "$<" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf $(ffmpegVideoScaleFilter)fps=fps=1/600 "$@" +# $(FFMPEG) -i "$<" -vf $(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" +# $(FFMPEG) -i "$<" -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4,thumbnail -frames:v 1 "$@" + $(FFMPEG) -i "$<" -aspect $(ffmpegDisplayAspectRatio) -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" + +videos/thumbnails/%.jpg: videos/thumbnails/%.png + $(GUETZLI) --quality 90 "$<" "$@" +# convert "$<" "$@" diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstab b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstab index 7f2f90b..87de5c9 100644 --- a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstab +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstab @@ -257,16 +257,16 @@ videos/webm/%.webm: videos/aufnahmen/elly/%.mp4 -an \ -f webm \ "$@" - curl \ - --upload-file "$@" \ - --user cwsvjudo:Dee4oquu \ - "ftp://cwsvjudo.square7.net/videoalben/videoalben.2018/$(VID_GAL_DIR)/$(patsubst videos/%,%,$@)" \ - --ftp-create-dirs - curl \ - --upload-file "$@" \ - --user cwsvjudo:***REMOVED*** \ - "ftp://cwsvjudo.bplaced.net/www/videoalben/videoalben.2018/$(VID_GAL_DIR)/$(patsubst videos/%,%,$@)" \ - --ftp-create-dirs +# curl \ +# --upload-file "$@" \ +# --user cwsvjudo:Dee4oquu \ +# "ftp://cwsvjudo.square7.net/videoalben/videoalben.2018/$(VID_GAL_DIR)/$(patsubst videos/%,%,$@)" \ +# --ftp-create-dirs +# curl \ +# --upload-file "$@" \ +# --user cwsvjudo:***REMOVED*** \ +# "ftp://cwsvjudo.bplaced.net/www/videoalben/videoalben.2018/$(VID_GAL_DIR)/$(patsubst videos/%,%,$@)" \ +# --ftp-create-dirs videos/thumbnails/%.jpg: videos/webm/%.webm mkdir -p videos/thumbnails diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabTest b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabTest index 9cee755..32ce5fa 100644 --- a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabTest +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vidstabTest @@ -6,6 +6,9 @@ GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe DEFAULT_FFMPEG = ffmpeg #DEFAULT_FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe +GET_VIDEO_DURATION_JSON = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py + + # Für eine schnelle Komprimierung libvpx, sonst vp9 DEFAULT_VID_CODEC_HEIGHT = 360 DEFAULT_VID_CODEC_WIDTH = -2 @@ -88,6 +91,7 @@ targets: # Die Stabilisierungsberechnung: # eventuell sollte hier die Skalierung vorgeschaltet werden... +# @toDo: Ist es mit vorheriger Skalierung schneller, oder langsamer? videos/.forCompressing/%.trf: videos/.forCompressing/%.video $(FFMPEG) -i $^ \ -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabDetect):result="$@" \ @@ -120,7 +124,7 @@ videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video vide # Die erste Abhängigkeit muss das quellVideo sein! videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/.forCompressing/%.firstPassLog-0.log mkdir -p videos/webm - ~/keeper/judo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py $< + $(GET_VIDEO_DURATION_JSON) $< # -b:v $(VID_CODEC_BITRATE) \ # Second Pass $(FFMPEG) -i $< \ @@ -128,15 +132,9 @@ videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf -codec:v $(VID_CODEC) \ -pass 2 \ -passlogfile "$(basename $<).firstPassLog" \ -<<<<<<< HEAD - -deadline best \ - -b:v $(shell /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py $<)k \ - -aspect $(ffmpegDisplayAspectRatio)\ -======= $(VID_CODEC_DEADLINE) \ - -b:v $(shell ~/keeper/judo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py $<)k \ - -aspect 16:9 \ ->>>>>>> a763569bdbb2f100ce14b50dcb7828db4e6f4852 + -b:v $(shell $(GET_VIDEO_DURATION_JSON) $<)k \ + -aspect $(ffmpegDisplayAspectRatio)\ -threads 1 \ -speed 0 \ -tile-columns 0 \ @@ -149,18 +147,14 @@ videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf -f webm \ $@ -videos/thumbnails/%.png: videos/.forCompressing/%.video +#videos/thumbnails/%.png: videos/.forCompressing/%.video +videos/thumbnails/%.png: videos/webm/%.webm mkdir -p videos/thumbnails # $(FFMPEG) -i "$<" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf $(ffmpegVideoScaleFilter)fps=fps=1/600 "$@" # $(FFMPEG) -i "$<" -vf $(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" # $(FFMPEG) -i "$<" -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4,thumbnail -frames:v 1 "$@" - $(FFMPEG) -i "$<" -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" + $(FFMPEG) -i "$<" -aspect $(ffmpegDisplayAspectRatio) -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" videos/thumbnails/%.jpg: videos/thumbnails/%.png -<<<<<<< HEAD $(GUETZLI) --quality 90 "$<" "$@" -======= -# $(GUETZLI) --quality 90 "$<" "$@" - convert "$<" "$@" - ->>>>>>> a763569bdbb2f100ce14b50dcb7828db4e6f4852 +# convert "$<" "$@" diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vp9encodeGoogleVodRecommendations b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vp9encodeGoogleVodRecommendations new file mode 100644 index 0000000..396de29 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefile.vp9encodeGoogleVodRecommendations @@ -0,0 +1,158 @@ +FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe +#FFMPEG = ffmpeg +GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe +#GUETZLI = /home/marko/proggis/guetzli/bin/Release/guetzli + +DEFAULT_FFMPEG = ffmpeg +DEFAULT_GUETZLI = guetzli + +GET_VIDEO_DURATION_JSON = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py + +# Für eine schnelle Komprimierung libvpx, sonst vp9 +DEFAULT_VID_CODEC_HEIGHT = 360 +DEFAULT_VID_CODEC_WIDTH = -2 +DEFAULT_VID_CODEC_BITRATE = 500k +DEFAULT_VID_CODEC = libvpx-vp9 + +# Standardwerte auf die benutzen Variablen schreiben, falls diese noch +# nicht (z.B. aus dem Terminal heraus oder über ein IncludeCfgFile) +# gesetzt worden sind +VID_CODEC_BITRATE := $(if $(VID_CODEC_BITRATE),$(VID_CODEC_BITRATE),$(DEFAULT_VID_CODEC_BITRATE)) +VID_CODEC_HEIGHT := $(if $(VID_CODEC_HEIGHT),$(VID_CODEC_HEIGHT),$(DEFAULT_VID_CODEC_HEIGHT)) +VID_CODEC_WIDTH := $(if $(VID_CODEC_WIDTH),$(VID_CODEC_WIDTH),$(DEFAULT_VID_CODEC_WIDTH)) +VID_CODEC := $(if $(VID_CODEC),$(VID_CODEC),$(DEFAULT_VID_CODEC)) + +defaultTargetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) +VID_CODEC_DEADLINE := -deadline good +#VID_CODEC_DEADLINE := -deadline best +#VID_CODEC_DEADLINE := -deadline good +#VID_CODEC_DEADLINE := -deadline realtime + +targetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) + +targetSourceDirectories := $(if $(targetSourceDirectories), $(targetSourceDirectories), $(defaultTargetSourceDirectories)) +sourceVideos = $(wildcard videos/.forCompressing/*.video) + +vidstabLogs = $(addsuffix .trf, $(basename $(sourceVideos))) +firstPassLogs = $(addsuffix .firstPassLog-0.log, $(basename $(sourceVideos))) +webmVideos = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(sourceVideos))))) +jpegThumbs = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(sourceVideos))))) + +# das result= fehlt absichtlich +ffmpegVideoFilterVidstabDetect = vidstabdetect=shakiness=10:accuracy=15 +# das input= fehlt absichtlich +ffmpegVideoFilterVidstabTransform = vidstabtransform=optzoom=2:interpol=bicubic:smoothing=30 + +ffmpegVideoScaleFilter = scale=$(VID_CODEC_WIDTH):$(VID_CODEC_HEIGHT):sws_flags=lanczos, +ffmpegVideoFilterDeinterlace = yadif, +ffmpegVideoFilterDenoise = nlmeans, +#ffmpegVideoFilterDenoise = hqdn3d, +ffmpegDisplayAspectRatio = 16:9 +#ffmpegDisplayAspectRatio = 9:16 +ffmpegVideoFilterUnsharp = unsharp=5:5:0.8:3:3:0.4 + +.SECONDARY: $(vidstabLogs) $(firstPassLogs) + +.PHONY: all clean +all: $(webmVideos) $(jpegThumbs) + +clean: + $(RM) \ + $(vidstabLogs) \ + $(firstPassLogs) \ + $(webmVideos) \ + $(jpegThumbs) + +.PHONY: thumbnails +thumbnails: $(jpegThumbs) + +.PHONY: echo +echo: + @echo $(webmVideos) + @echo $(firstPassLogs) + @echo $(targetSourceDirectories) + + +# Erzeugen der Targets +.PHONY: targets +targets: + mkdir -p videos/.forCompressing + for directory in $(targetSourceDirectories) ;\ + do for file in $${directory}/*.*;\ + do \ + checkSum=$$(sha512sum $${file});\ + ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\ + done;\ + done; + +# Die Stabilisierungsberechnung: +# eventuell sollte hier die Skalierung vorgeschaltet werden... +# @toDo: Ist es mit vorheriger Skalierung schneller, oder langsamer? +# Denoise ist in der Stabilisation eigentlich unnötig, ebenso das unsharp +# Die Skalierung sollte vieleicht vor der Stabilisierung stattfinden (und braucht nicht hochwertig zu sein?) +videos/.forCompressing/%.trf: videos/.forCompressing/%.video + $(FFMPEG) -i $^ \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterVidstabDetect):result="$@" \ + -f null \ + - + +videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video videos/.forCompressing/%.trf +# wir speichern mal schon den ersten pass, damit haben wir zwar eine +# größere Dateigröße, aber können bereits etwas hochladen +# "$(basename $<).webm" +# First Pass + $(FFMPEG) -i $< \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \ + -codec:v $(VID_CODEC) \ + $(VID_CODEC_DEADLINE) \ + -pass 1 \ + -b:v $(shell $(GET_VIDEO_DURATION_JSON) $<)k \ + -passlogfile "$(basename $<).firstPassLog" \ + -aspect $(ffmpegDisplayAspectRatio) \ + -threads 1 \ + -speed 4 \ + -tile-columns 0 \ + -frame-parallel 0 \ + -g 9999 \ + -aq-mode 0 \ + -an \ + -f webm \ + -y \ + /dev/null + +# Second Pass +# target und dependencies müssen noch angepasst werden +# Die erste Abhängigkeit muss das quellVideo sein! +videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/.forCompressing/%.firstPassLog-0.log + mkdir -p videos/webm + $(FFMPEG) -i $< \ + -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4 \ + -codec:v $(VID_CODEC) \ + -pass 2 \ + -passlogfile "$(basename $<).firstPassLog" \ + $(VID_CODEC_DEADLINE) \ + -b:v $(shell $(GET_VIDEO_DURATION_JSON) $<)k \ + -aspect $(ffmpegDisplayAspectRatio)\ + -threads 1 \ + -speed 0 \ + -tile-columns 0 \ + -frame-parallel 0 \ + -auto-alt-ref 1 \ + -lag-in-frames 25 \ + -g 9999 \ + -aq-mode 0 \ + -an \ + -f webm \ + $@ + +videos/thumbnails/%.png: videos/.forCompressing/%.video +#videos/thumbnails/%.png: videos/webm/%.webm + mkdir -p videos/thumbnails +# $(FFMPEG) -i "$<" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf $(ffmpegVideoScaleFilter)fps=fps=1/600 "$@" +# $(FFMPEG) -i "$<" -vf $(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" +# $(FFMPEG) -i "$<" -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4,thumbnail -frames:v 1 "$@" + $(FFMPEG) -i "$<" -aspect $(ffmpegDisplayAspectRatio) -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" + +videos/thumbnails/%.jpg: videos/thumbnails/%.png + $(GUETZLI) --quality 90 "$<" "$@" +# convert "$<" "$@" diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile new file mode 100644 index 0000000..dc17219 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile @@ -0,0 +1,9 @@ +include Makefile.cfg + +recTestVar = Hallo +#export recTestVar + +.PHONY: recTest +recTest: + echo ${recTestVar} + make -e --file=Makefile.sub diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile.cfg b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile.cfg new file mode 100644 index 0000000..99675e2 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile.cfg @@ -0,0 +1 @@ +recTestVar = Hallo diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile.sub b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile.sub new file mode 100644 index 0000000..60ad504 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.recursiveVariableTest/Makefile.sub @@ -0,0 +1,3 @@ +.PHONY: echo +echo: + echo ${recTestVar} diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.vidGal b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.vidGal new file mode 100644 index 0000000..abf0cb6 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.vidGal @@ -0,0 +1,42 @@ +include ${makefileDir}/Makefile.vidGal.cfg + +.PHONY: all clean +all: $(webmVideos) $(jpegThumbs) + +clean: + $(RM) \ + $(vidstabLogs) \ + $(firstPassLogs) \ + $(webmVideos) \ + $(jpegThumbs) + +.PHONY: thumbnails +thumbnails: $(jpegThumbs) + +videos/thumbnails/%.jpg: videos/.forCompressing/%.video + make --include-dir=${makefileDir} --file=${makefileDir}/Makefile.webmCompress $@ + +.PHONY: echo +echo: + @echo $(webmVideos) + @echo $(firstPassLogs) + @echo $(targetSourceDirectories) + +# Erzeugen der Targets +# @todo das muss ich immer noch einzeln aufrufen ... +.PHONY: targetSources +targetSources: + mkdir -p videos/.forCompressing + for directory in $(targetSourceDirectories) ;\ + do for file in $${directory}/*.*;\ + do \ + checkSum=$$(sha512sum $${file});\ + ln -f $${file} videos/.forCompressing/$${checkSum%%\ *}.video;\ + done;\ + done; + +# target und dependencies müssen noch angepasst werden +# Die erste Abhängigkeit muss das quellVideo sein! +videos/webm/%.webm: videos/.forCompressing/%.video + make --include-dir=${makefileDir} --file=${makefileDir}/Makefile.webmCompress $@ + diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.vidGal.cfg b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.vidGal.cfg new file mode 100644 index 0000000..d9ce64b --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.vidGal.cfg @@ -0,0 +1,19 @@ +defaultTargetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) +#targetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) + +targetSourceDirectories := $(if $(targetSourceDirectories), $(targetSourceDirectories), $(defaultTargetSourceDirectories)) + +sourceVideos = $(wildcard videos/.forCompressing/*.video) + +# Zwischentargets, für ein clean +vidstabLogs = $(addsuffix .trf, $(basename $(sourceVideos))) +firstPassLogs = $(addsuffix .firstPassLog-0.log, $(basename $(sourceVideos))) + +webmVideos = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(sourceVideos))))) +jpegThumbs = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(sourceVideos))))) + +#makefileDir = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d +makefileDir = ~/keeper/cwsvJudo/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d + +FFMPEG = /home/marko/Downloads/ffmpeg-4.1.3-amd64-static/ffmpeg + diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.webmCompress b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.webmCompress new file mode 100644 index 0000000..2f243a1 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.webmCompress @@ -0,0 +1,78 @@ +include Makefile.webmCompress.cfg + +.SECONDARY: $(vidstabLogs) $(firstPassLogs) + +.DEFAULT: info +info: + @echo Es muss ein Target übergeben werden! + +# Die Stabilisierungsberechnung: +# eventuell sollte hier die Skalierung vorgeschaltet werden... +# @toDo: Ist es mit vorheriger Skalierung schneller, oder langsamer? +videos/.forCompressing/%.trf: videos/.forCompressing/%.video + $(FFMPEG) -i $^ \ + -filter:v $(ffmpegVideoFilterDeinterlace),$(ffmpegVideoScaleFilter),$(ffmpegVideoFilterVidstabDetect):result="$@" \ + -f null \ + - + +# First Pass +# @todo: irgendwo habe ich mal gelesen, dass man den ersten Pass auch +# als ansehbares Video (mit höchster Qualittätseinstellung) speichern +# kann. Wäre praktisch für eine leicht schnellere Verfügbarkeit. +videos/.forCompressing/%.firstPassLog-0.log: videos/.forCompressing/%.video videos/.forCompressing/%.trf + $(FFMPEG) -i $< \ + -filter:v $(ffmpegVideoFilterDeinterlace),$(ffmpegVideoScaleFilter),$(ffmpegVideoFilterDenoise),$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoFilterUnsharp),$(ffmpegVideoScaleFilter) \ + -codec:v $(VID_CODEC) \ + -pass 1 \ + -passlogfile "$(basename $<).firstPassLog" \ + -threads 1 \ + -speed 4 \ + -tile-columns 0 \ + -frame-parallel 0 \ + -g 9999 \ + -aq-mode 0 \ + -an \ + -f webm \ + -y \ + /dev/null + +# Second Pass +# - Die erste Abhängigkeit muss das quellVideo sein! +videos/webm/%.webm: videos/.forCompressing/%.video videos/.forCompressing/%.trf videos/.forCompressing/%.firstPassLog-0.log + mkdir -p videos/webm + $(FFMPEG) -i $< \ + -filter:v $(ffmpegVideoFilterDeinterlace),$(ffmpegVideoScaleFilter),$(ffmpegVideoFilterDenoise),$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoFilterUnsharp) \ + -codec:v $(VID_CODEC) \ + -pass 2 \ + -passlogfile "$(basename $<).firstPassLog" \ + $(VID_CODEC_DEADLINE) \ + -b:v $(shell $(getTargetParameter) $< videoBitrate)k \ + -threads 1 \ + -speed 0 \ + -tile-columns 0 \ + -frame-parallel 0 \ + -auto-alt-ref 1 \ + -lag-in-frames 25 \ + -g 9999 \ + -aq-mode 0 \ + -an \ + -f webm \ + $@ + +videos/thumbnails/%.png: videos/.forCompressing/%.video + mkdir -p videos/thumbnails +# $(FFMPEG) -i "$<" -vf "select=gt(scene\,0.4)" -frames:v 5 -vsync vfr -vf $(ffmpegVideoScaleFilter)fps=fps=1/600 "$@" +# $(FFMPEG) -i "$<" -vf $(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" +# $(FFMPEG) -i "$<" -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoFilterDenoise)$(ffmpegVideoFilterVidstabTransform):input="$(basename $<).trf",$(ffmpegVideoScaleFilter)unsharp=5:5:0.8:3:3:0.4,thumbnail -frames:v 1 "$@" +# $(FFMPEG) -i "$<" -aspect $(ffmpegDisplayAspectRatio) -filter:v $(ffmpegVideoFilterDeinterlace)$(ffmpegVideoScaleFilter)thumbnail -frames:v 1 "$@" + $(FFMPEG) -i "$<" \ + -filter:v $(ffmpegVideoFilterDeinterlace),$(ffmpegVideoScaleFilter),thumbnail \ + -frames:v 1 "$@" + +videos/thumbnails/%.jpg: videos/thumbnails/%.png + $(GUETZLI) --quality 90 "$<" "$@" +# convert "$<" "$@" + +.PHONY: echo +echo: + echo $(GET_VIDEO_DURATION_JSON) diff --git a/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.webmCompress.cfg b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.webmCompress.cfg new file mode 100644 index 0000000..d47e241 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/Makefiles/Makefiles.vidGal.d/Makefile.webmCompress.cfg @@ -0,0 +1,62 @@ +#FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe +#FFMPEG = ffmpeg +FFMPEG = /home/marko/Downloads/ffmpeg-4.1.3-amd64-static/ffmpeg + +GUETZLI = ~/tmp/guetzli/bin/Release/guetzli +#GUETZLI = /d/projekte/tests/guetzli.git/bin/Release/guetzli.exe +#GUETZLI = /home/marko/proggis/guetzli/bin/Release/guetzli + +DEFAULT_FFMPEG = ffmpeg +#DEFAULT_FFMPEG = /c/proggis/media/editoren/ffmpeg-4.0.2-win64-static/bin/ffmpeg.exe + +GET_VIDEO_DURATION_JSON = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py +#GET_VIDEO_DURATION_JSON = ~/keeper/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getVideoDurationJson.py + +getTargetParameter = /d/temp/cwsvJudo/homepage/redesign2018/markdownExperiment/src/galleryHelper/getFfmpegFlags.py + + +# Für eine schnelle Komprimierung libvpx, sonst vp9 +DEFAULT_VID_CODEC_HEIGHT = 360 +DEFAULT_VID_CODEC_WIDTH = -2 +DEFAULT_VID_CODEC_BITRATE = 500k +DEFAULT_VID_CODEC = libvpx-vp9 + +# Standardwerte auf die benutzen Variablen schreiben, falls diese noch +# nicht (z.B. aus dem Terminal heraus oder über ein IncludeCfgFile) +# gesetzt worden sind +VID_CODEC_BITRATE := $(if $(VID_CODEC_BITRATE),$(VID_CODEC_BITRATE),$(DEFAULT_VID_CODEC_BITRATE)) +VID_CODEC_HEIGHT := $(if $(VID_CODEC_HEIGHT),$(VID_CODEC_HEIGHT),$(DEFAULT_VID_CODEC_HEIGHT)) +VID_CODEC_WIDTH := $(if $(VID_CODEC_WIDTH),$(VID_CODEC_WIDTH),$(DEFAULT_VID_CODEC_WIDTH)) +VID_CODEC := $(if $(VID_CODEC),$(VID_CODEC),$(DEFAULT_VID_CODEC)) + +defaultTargetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) +VID_CODEC_DEADLINE := -deadline best +#VID_CODEC_DEADLINE := -deadline realtime + +targetSourceDirectories = $(sort $(dir $(wildcard ./videos/aufnahmen/*/))) + +targetSourceDirectories := $(if $(targetSourceDirectories), $(targetSourceDirectories), $(defaultTargetSourceDirectories)) +sourceVideos = $(wildcard videos/.forCompressing/*.video) + +vidstabLogs = $(addsuffix .trf, $(basename $(sourceVideos))) +firstPassLogs = $(addsuffix .firstPassLog-0.log, $(basename $(sourceVideos))) +webmVideos = $(addprefix videos/webm/, $(addsuffix .webm, $(basename $(notdir $(sourceVideos))))) +jpegThumbs = $(addprefix videos/thumbnails/, $(addsuffix .jpg, $(basename $(notdir $(sourceVideos))))) + +# das result= fehlt absichtlich +ffmpegVideoFilterVidstabDetect = vidstabdetect=shakiness=10:accuracy=15 +# das input= fehlt absichtlich +ffmpegVideoFilterVidstabTransform = vidstabtransform=optzoom=2:interpol=bicubic:smoothing=30 +# vidstab empfiehlt die Verwendung des unsharp-Filters bei vidstabtransform +ffmpegVideoFilterUnsharp = unsharp=5:5:0.8:3:3:0.4 + +#ffmpegVideoScaleFilter = scale=$(VID_CODEC_WIDTH):$(VID_CODEC_HEIGHT):sws_flags=lanczos, +#ffmpegVideoScaleFilter = scale=if\( gt\(in_w, in_h\), -2, $(VID_CODEC_HEIGHT) \):if\( gt\(in_w, in_h\), $(VID_CODEC_HEIGHT), -2\):sws_flags=lanczos +#ffmpegVideoScaleFilter = scale="if\(gt\(in_w\,in_h\)\,-2\,$(VID_CODEC_HEIGHT)\)":"if\(gt\(in_w\,in_h\)\,$(VID_CODEC_HEIGHT)\,-2\)":sws_flags=bicubic +ffmpegVideoScaleFilter = scale="if\(gt\(in_w\,in_h\)\,-2\,$(shell $(getTargetParameter) $< pixelSize)\)":"if\(gt\(in_w\,in_h\)\,$(shell $(getTargetParameter) $< pixelSize)\,-2\)":sws_flags=bicubic +ffmpegVideoFilterDeinterlace = yadif +ffmpegVideoFilterDenoise = nlmeans +#ffmpegVideoFilterDenoise = hqdn3d, +#ffmpegDisplayAspectRatio = 16:9 +#ffmpegDisplayAspectRatio = 9:16 + diff --git a/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018-wkKalender.css b/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018-wkKalender.css index 87fbd74..28a7ab3 100644 --- a/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018-wkKalender.css +++ b/homepage/redesign2018/markdownExperiment/src/css/cwsvJudo-2018-wkKalender.css @@ -809,7 +809,7 @@ } .textoverlayedImage > div { z-index: 99; - width: 70%; + width: fit-content; position: absolute; top: 50%; left: 50%; @@ -834,6 +834,7 @@ } .wkBoxMediaGallery > *{ flex-basis:50%; + padding: 5%; } diff --git a/homepage/redesign2018/markdownExperiment/src/galleryHelper/getFfmpegFlags.py b/homepage/redesign2018/markdownExperiment/src/galleryHelper/getFfmpegFlags.py new file mode 100644 index 0000000..56d238a --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/galleryHelper/getFfmpegFlags.py @@ -0,0 +1,91 @@ +#!/usr/bin/env python3 + +# +# Command line use of 'ffprobe': +# +# ffprobe -loglevel quiet -print_format json \ +# -show_format -show_streams \ +# video-file-name.mp4 +# +# man ffprobe # for more information about ffprobe +# + +import subprocess as sp +import json +import sys +import argparse + + +def probe(vid_file_path): + ''' Give a json from ffprobe command line + + @vid_file_path : The absolute (full) path of the video file, string. + ''' + if type(vid_file_path) != str: + raise Exception('Give ffprobe a full file path of the video') + return + + command = ["ffprobe", + "-loglevel", "quiet", + "-print_format", "json", + "-show_format", + "-show_streams", + vid_file_path + ] + + pipe = sp.Popen(command, stdout=sp.PIPE, stderr=sp.STDOUT) + out, err = pipe.communicate() + return json.loads(out.decode('utf-8')) + +def duration(vid_file_path): + ''' Video's duration in seconds, return a float number + ''' + _json = probe(vid_file_path) + + if 'format' in _json: + if 'duration' in _json['format']: + return float(_json['format']['duration']) + + if 'streams' in _json: + # commonly stream 0 is the video + for s in _json['streams']: + if 'duration' in s: + return float(s['duration']) + + # if everything didn't happen, + # we got here because no single 'return' in the above happen. + raise Exception('I found no duration') + #return None + +def getPixelSize(bitrate): + if(bitrate >= 500): + return 480 + if(bitrate >= 250): + return 360 + return 240 + +if __name__ == "__main__": + argParser = argparse.ArgumentParser(description='Calculate Bitrate and Pixelsize (height) for a encoding a video with limited (byte-)size') + argParser.add_argument('inFile', help="file to be analysed") + argParser.add_argument('flagToGet', help="Zielparameter wählen", choices=['pixelSize', 'videoBitrate']) + argParser.add_argument('--audioBitrate', help="audio bitrate die abgezogen werden soll (in kbit/s)", default=0) + argParser.add_argument('--targetSize', help="dateigröße der zieldatei in MB", default=10) + argParser.add_argument('--overhead', help="prozentualer overhead in %", default=95) + argParser.add_argument('--maxVidBitrate', help="Videobitrate, bei der gedeckelt werden soll", default=750) + argv = argParser.parse_args() + + video_file_path = argv.inFile + + durationInSec = duration(video_file_path) + + videoBitrateInKbPerSec = argv.overhead/100 * (argv.targetSize * 1000 * 8)/durationInSec - argv.audioBitrate + videoBitrateInKbPerSec = int(min(argv.maxVidBitrate, videoBitrateInKbPerSec)) + + pixelSize = getPixelSize(videoBitrateInKbPerSec) + + if(argv.flagToGet == "pixelSize"): + print(pixelSize) + + if(argv.flagToGet == "videoBitrate"): + print(videoBitrateInKbPerSec) + diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/gallery.template.php b/homepage/redesign2018/markdownExperiment/src/imgGallery/gallery.template.php new file mode 100644 index 0000000..3b1c554 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/gallery.template.php @@ -0,0 +1,419 @@ + 0 && $str == round($str)); +} + +function myUrlEncode($string) { + $entities = array( '%21', '%2A', '%27', '%28', '%29', '%3B', '%3A', '%40', '%26', '%3D', '%2B', '%24', '%2C', '%2F', '%3F', '%25', '%23', '%5B', '%5D'); + $replacements = array( '!', '*', "'", "(", ")", ";", ":", "@", "&", "=", "+", "$", ",", "/", "?", "%", "#", "[", "]"); + //return str_replace($entities, $replacements, urlencode($string)); +return str_replace($entities, $replacements, rawurlencode($string)); +} + +function startsWith($haystack, $needle){ + $length = strlen($needle); + return (substr($haystack, 0, $length) === $needle); +} + +/// Abfrage der ausgewählten Bilder einer Galerie +function getPickedImages($aMysqlConn, $aGalId){ +$retPickedImages = array(); +/// Erstmal bisher ausgewählte Bilder abfragen ... + $queryPickedImages = sprintf( + "SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s';", + $aMysqlConn->real_escape_string($aGalId) + ); + +// die($queryPickedImages); + + $resultsPickedImages = $aMysqlConn->query($queryPickedImages); + + /// @todo Wie kann ich hier sinnvoll einen Fehler zurückliefern? Nullpointer? + if( !$resultsPickedImages ){ + $retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"; + die( "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"); + } + else{ + while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){ + $retPickedImages = array_merge($retPickedImages, explode(',', $pickedImagesResult['pickedImages']) ); + } + } +//echo("retPickedImages: ");print_r($retPickedImages); die(); +return array_unique( $retPickedImages ); +}/// Ende getPickedImages + +/// Hilfsfunktion zum Anpassen der htmlDescription +function descrName($aName){ + $retVal = "Bilder der Judoka des Chemnitzer WSV beim Wettkampf ".$aName; + if( strpos($aName, "Sommerabschlussgrillen") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV beim ".$aName; + if( strpos($aName, "Jahrendefeier") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV bei der ".$aName; +return $retVal; +}/// Ende descrName + +/// Wählt aus den Gallerybildern eine Anzahl zum anzeigen aus +function displayImagesList($galleryData, $options = array() ){ + if( is_positive_integer( $options['imageLimit']) ) + return array_rand( $shiaiGalleryData['images'], $options['imageLimit']); +return $shiaiGalleryData['images']; +// folgend nur die alte Bildauswahl mit Favourites (zum Abschreiben bei +// zukünftigen Erweiterungen) + +///// Überschreiben der imgList mit den ausgewählten Bildern + //$allImgList = $imgList; // Sicherungskopie + + //if( count($pickedImages) > 24 ) + //$pickedImages = array_rand( $pickedImages, 24); + //else{ + //$restImages = array_diff( $allImgList, $pickedImages ); + //foreach( array_rand( $restImages, min(24, count($restImages))-count($pickedImages) ) as $k ) { + //$pickedImages[] = $restImages[$k]; + //} + //} + //$imgList = $pickedImages; +//// echo("imgList: "); print_r($imgList); + + ///// @todo ein Sortieren nach dem ursprünglichen Index fehlt + //usort($imgList, function($a, $b) use($allImgList){return array_search($a, $allImgList) > array_search($b, $allImgList);} ); + //$imgList = array_values( $imgList );// Zum reNummerieren +//// echo("imgList: "); print_r($imgList); + + //if( $showAllMode == "true") $imgList = $allImgList; + + //$imgInfos = array(); + //foreach( $imgList as $imgName ){ + //if(startsWith($imgName, "images/")){ + //array_push( $imgInfos, @getimagesize(str_replace("images", "thumbs", str_replace(".jpg", ".png", $imgName)))); + //} + //else{ + //array_push( $imgInfos, @getimagesize("thumbs/".str_replace(".jpg", ".png", $imgName))); + //} + //} + +} + + +//// +// Main +//// + +$basePath = $_SERVER['DOCUMENT_ROOT']; +$requestPath = $_SERVER['REQUEST_URI']; + +if( $_GET['showAll'] == "true" ) + $showAllMode = "true"; +else + $showAllMode = "false"; + + +// eine allgemeine Konfigurationsdatei +if( file_exists("config.inc.php") ) + include_once("config.inc.php"); + +// für's erste werden die Verzeichnisse direkt aufgerufen +// - @toDo: Das letzte muss kein Verzeichnis sein! +// - @toDo: Fehlerbehandlung?? +// - für's erste gehen wir davon aus, dass ein korrektes Verzeichnis +// übergeben wurde +$dirBreadcrumbs = explode( "/", $_SERVER["REQUEST_URI"] ); + if( $dirBreadcrumbs[1] != "photoalben" ){ + echo("warning: wrong path!\n"); + var_dump($_SERVER); + var_dump($dirBreadcrumbs); + } + + +// Wettkampfname und Wettkampfdatum wurden früher™ mal in der +// 'config.inc.php' des Galerieordners +if(file_exists($requestPath."config.inc.php")){ + include_once($requestPath."config.inc.php"); + if($wkName) + $shiaiGalleryData['name'] = $wkName; +} + +// So soll es mal werden: Die Daten der Galerie in einer jsonDatei +if(file_exists($requestPath."/shiaiGallery.json")) + $shiaiGalleryData = json_decode( + get_file_contents( $requestPath."shiaiGallery.json"), + true + ); + + +// Sollte jetzt die Galerie noch leer sein, dann ist anzunehmen, +// dass noch keine definiert wurden (weder per json, noch durch +// inc.php). Damit nie nichts angezeigt wird, laden wir sie aus dem +// Verzeichnis. +// @toDo: Übergangslösung! Es sollte möglich sein, eine leere Galerie +// zu erzeugen. Es sollte ein allgemeinerer ImageSuchAlgorithmus her! +if( empty( $shiaiGalleryData['images'] ) ){ + $imgList = glob( $basePath.$requestPath."images/*.jpg" ); + // Wie es scheint ist sind die Dateinamen auf dem bplaced in "ISO-8859-1" + // Die Dateinamen auf dem Server (so wie sie die glob-Funktion + // liefert) müssen nicht in "UTF-8" sein! deshalb eine + // Konvertierung, denn das htmlDokument soll dann in "UTF-8" sein. + array_walk( + $imgList, + function (&$value, $key, $basePath) { + $value = iconv( "ISO-8859-1", "UTF-8", $value); +// @toDo: evtl. hier schon die Dateinamen urlEncoden ? +// $value=implode('/', array_map('myUrlEncode', explode('/', $value))); + $value = str_replace($basePath, "", $value); + }, + $basePath + ); + + $shiaiGalleryData['images'] = array_map( + function($value){ + return array( + 'imgSrc' => $value, + 'tbnSrc' => str_replace( "/images/", "/thumbs/", str_replace( ".jpg", ".png", $value)) + ); + }, + $imgList + ); +} + +//var_dump($shiaiGalleryData); +//exit(); + + +if( $showAllMode == "true" ){ + $imgList = displayImagesList($shiaiGalleryData['images']); +} +else + $imgList = displayImagesList($shiaiGalleryData['images'], array('imagesLimit'=>24)); + +array_walk( + $imgList, + function (&$value, $key, $basePath) { +// $value = iconv( "ISO-8859-1", "UTF-8", $value); +// @toDo: evtl. hier schon die Dateinamen urlEncoden ? + $value['imgSrc']=implode('/', array_map('myUrlEncode', explode('/', $value['imgSrc']))); + $value['tbnSrc']=implode('/', array_map('myUrlEncode', explode('/', $value['tbnSrc']))); +// $value = str_replace($basePath, "", $value); + }, + $basePath +); + +if( empty($shiaiGalleryData['name']) ) + $shiaiGalleryData['name'] = "ohne Namen"; + +?> + + + + <?php echo $wkName?> - Bilderalbum<?php echo( !empty($showAllMode)?($showAllMode == "true" ? " - alle Bilder" : "") : "");?> + + + "> + + + + + + + + + + + + + + + + + + + + + Zur Galerieübersicht + +
+ +
+ + +

+ Photoalbum [] +

+ +

+ [ Bilder] +

+ + + + +

+ Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen. +

+
+ + + +" ); + //echo( "" ); + //} +?> + "); + } +?> + +Eingaben absenden" ); + //echo( "" ); + //} +?> + + + + + + + + +
+ + diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/imgPicker.php b/homepage/redesign2018/markdownExperiment/src/imgGallery/imgPicker.php new file mode 100644 index 0000000..34236ed --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/imgPicker.php @@ -0,0 +1,191 @@ +real_escape_string($aGalId), + $aMysqlConn->real_escape_string($anUserId) + ); + + $resultsPickedImages = $aMysqlConn->query($queryPickedImages); + if( !$resultsPickedImages ){ + $retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"; + } + /// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden, das sollte auch überprüft werden + else{ + while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){ + $galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) ); + } + } + + /// @todo Anzahl der ausgewählten Bilder auf 6 beschränken + if( empty($galPickedImages) ){ + if( count($galPickedImages) < 6 ){ + $queryAddImages = sprintf( + "INSERT INTO cwsvjudo.galImgPicker (galId, userId, pickedImages) values ('%s', '%s', '%s');", + $aMysqlConn->real_escape_string($aGalId), + $aMysqlConn->real_escape_string($anUserId), + $aMysqlConn->real_escape_string(join(",", $somePickedImages)) + ); + + $resultAddImages = $aMysqlConn->query($queryAddImages); + if( $resultAddImages ){ + $retMessage['info'] .= "(".join(",", $somePickedImages).") ausgewählt!
"; + } + else{ + $retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!
"; + } + } + else{ + $retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden
"; + } + } + else{ + $retMessage['error'] .= "Fehler: Es wurden bereits Bilder ausgewählt (".join(",", $galPickedImages).")!
"; + $retMessage['error'] .= "Neue Auswahl: (".join(",", $somePickedImages).")
"; + $retMessage['error'] .= "
"; + $retMessage['error'] .= " "; + foreach($somePickedImages as $img){ + $retMessage['error'] .= " "; + } + $retMessage['error'] .= " "; + $retMessage['error'] .= "
"; + } +return $retMessage; +} + +/// Ändern eines bereits erstellten Eintrages +function changePickedImages($aMysqlConn, $aGalId, $anUserId, $somePickedImages){ + +$retMessage = array(); +$galPickedImages = array(); + +/// Erstmal bisher ausgewählte Bilder abfragen ... + $queryPickedImages = sprintf( + "SELECT * FROM cwsvjudo.galImgPicker WHERE galId = '%s' AND userId = '%s';", + $aMysqlConn->real_escape_string($aGalId), + $aMysqlConn->real_escape_string($anUserId) + ); + + $resultsPickedImages = $aMysqlConn->query($queryPickedImages); + if( !$resultsPickedImages ){ + $retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"; + } + /// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden, das sollte auch überprüft werden + else{ + while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){ + $galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) ); + } + } + + if( empty($galPickedImages) ) + $retMessage['error'] .= "Fehler: Kein Eintrag zum Ändern gefunden!"; + else{ + if( count($galPickedImages) < 6 ){ + $queryAddImages = sprintf( + "UPDATE cwsvjudo.galImgPicker pickedImages = '%s' WHERE galId = '%s' AND userId = '%s';", + $aMysqlConn->real_escape_string(join(",", $somePickedImages)), + $aMysqlConn->real_escape_string($aGalId), + $aMysqlConn->real_escape_string($anUserId) + ); + + $resultAddImages = $aMysqlConn->query($queryAddImages); + if( $resultAddImages ){ + $retMessage['info'] .= "Gewählten Bilder auf (".join(",", $somePickedImages).") geändert!
"; + } + else{ + $retMessage['error'] .= "Fehler: Konnte die Query '".$queryAddImages."' nicht ausführen ('".$aMysqlConn->error."')!
"; + } + } + else{ + $retMessage['error'] .= "Fehler: Es dürfen maximal 6 Bilder ausgewählt werden
"; + } + } +return $retMessage; +} + + + $loginStatus = "false"; + $galleryId = "0"; + $galPickedImages = array(); + +// Falls der serverseitige Logincookie nicht gesetzt ist ... + session_start(); + session_regenerate_id(); + if( empty($_SESSION['login']) ){ + $loginStatus = "false"; + $messages['info'] .= "Info: Der Bilderauswahlmodus ist nur möglich, wenn man angemeldet ist!
"; + } + else{ + $loginStatus = "true"; + /// @todo Testen, ob eine intZahl vorliegt + /// @todo Testen, ob wir in der richtigen Galerie sind + if( !empty($_POST['galId'] ) ) $galleryId = $_POST['galId']; + + $messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!
"; + +// Datenbankverbindung herstellen +/// @todo Ist die Db-Verbindung dann global? + $mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name); + + if($mysqlConn->connect_error){ + $message['error'] .= "Fehler: Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error . "
"; + } + else{/// bereits gewählte Bilder abfragen + $queryPickedImages = sprintf( + "SELECT * FROM galImgPicker WHERE galId = '%s' AND userId = '%s';", + $mysqlConn->real_escape_string($galleryId), + $mysqlConn->real_escape_string($_SESSION['user']['userId']) + + ); + + $pickedImagesResults = $mysqlConn->query($queryPickedImages); + if( !$pickedImagesResults ){ + $messages['error'] .= "Fehler bei Datenbankabfrage '".$queryPickedImages."'
"; + } + /// @todo Eigentlich sollte hier ja nur ein Ergebnis zurückgeliefert werden + else{ + while( $pickedImagesResult = $pickedImagesResults->fetch_assoc() ){ + //print_r($pickedImagesResult); + //print_r($pickedImagesResult['pickedImages']); + $galPickedImages = array_merge($galPickedImages, explode(',', $pickedImagesResult['pickedImages']) ); + } + } + + $addRetMessages = addPickedImages($mysqlConn, $galleryId, $_SESSION['user']['userId'], $_POST['pickedImages']); + + $mysqlConn->close(); + } + } + + + +?> + + + +
+ +
+ + + + + + + diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/index.php.tmpl b/homepage/redesign2018/markdownExperiment/src/imgGallery/index.php.tmpl new file mode 100644 index 0000000..c5e5452 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/index.php.tmpl @@ -0,0 +1,364 @@ +real_escape_string($aGalId) + ); + +// die($queryPickedImages); + + $resultsPickedImages = $aMysqlConn->query($queryPickedImages); + + /// @todo Wie kann ich hier sinnvoll einen Fehler zurückliefern? Nullpointer? + if( !$resultsPickedImages ){ + $retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"; + die( "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"); + } + else{ + while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){ + $retPickedImages = array_merge($retPickedImages, explode(',', $pickedImagesResult['pickedImages']) ); + } + } +//echo("retPickedImages: ");print_r($retPickedImages); die(); +return array_unique( $retPickedImages ); +}/// Ende getPickedImages + +/// Hilfsfunktion zum Anpassen der htmlDescription +function descrName($aName){ + $retVal = "Bilder der Judoka des Chemnitzer WSV beim Wettkampf ".$aName; + if( strpos($aName, "Sommerabschlussgrillen") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV beim ".$aName; + if( strpos($aName, "Jahrendefeier") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV bei der ".$aName; +return $retVal; +}/// Ende descrName + + $loginStatus = "false"; + $chooseMode = "false"; + $showAllMode = "false"; + $messages = array(); + $galleryId = "0"; + $pickedImages = array(); + + // Wie es scheint ist sind die Dateinamen auf bplaced in "ISO-8859-1" + array_walk( + $imgList, + function (&$value, $key) { + $value = iconv( "UTF-8", "ISO-8859-1",$value); + //$value = urlencode($value); + //$value = urlencode($value); + //$value = myUrlEncode($value); + //$value=implode('/', array_map('rawurlencode', explode('/', $value))); + $value=implode('/', array_map('myUrlEncode', explode('/', $value))); + }); + + +// echo("imgList: "); print_r($imgList); +// foreach($imgList as $img){ +// echo(" ".$img." startsWith images/ :".startsWith($img, "images/")."\n"); +// } + +/// Übergebene galleryId abfragen + if( !empty($_GET['galId'] ) ) $galleryId = $_GET['galId']; + /// @todo Woher erhalte ich die galleryID, wenn sie nicht übergeben wird? + +/* +/// Nachschauen, ob alle Bilder gezeigt werden sollen + if( $_GET['showAll'] == "true" ) + $showAllMode = "true"; +// Testen, ob wir im Bilderauswahlmodus sind... + if($_GET['chooseMode'] == "true"){ + $showAllMode = "true"; // Im Bildauswahlmodus sollten auch alle Bilder angezeigt werden + $chooseMode = "true"; + // Falls ja, dann teste, ob man angemeldet ist + /// @todo brauche ich das, wenn ich nur testen will, ob bereits angemeldet ist? -> anscheinend ja! + session_start(); + session_regenerate_id(); + // Falls der serverseitige Logincookie nicht gesetzt ist + if( empty($_SESSION['login']) ){ + $loginStatus = "false"; + $messages['info'] .= "Info: Der Bilderauswahlmodus ist nur möglich, wenn man angemeldet ist!
"; + } + else{ + $loginStatus = "true"; + /// @todo Testen, ob eine intZahl vorliegt + /// @todo Testen, ob wir in der richtigen Galerie sind + $messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!
"; + } + } + + $mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name); + + if($mysqlConn->connect_error){ + $message['error'] .= "Fehler: Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error . "
"; + } + else{ + $pickedImages = getPickedImages( $mysqlConn, $galleryId ); + $mysqlConn->close(); + } +*/ +/// Überschreiben der imgList mit den ausgewählten Bildern + $allImgList = $imgList; // Sicherungskopie + //echo("imgList:");print_r($imgList); +// echo("pickedImages: "); print_r($pickedImages); + + if( count($pickedImages) > 24 ) + $pickedImages = array_rand( $pickedImages, 24); + else{ + $restImages = array_diff( $allImgList, $pickedImages ); + //echo("restImages: "); print_r($restImages); + //echo("count(restImages): ".count($restImages)); + //echo("count(24-count($pickedImages)): ".(24-count($pickedImages))); + foreach( array_rand( $restImages, min(24, count($restImages))-count($pickedImages) ) as $k ) { + $pickedImages[] = $restImages[$k]; + } +// echo("pickedImages: "); print_r($pickedImages); + } + $imgList = $pickedImages; +// echo("imgList: "); print_r($imgList); + + /// @todo ein Sortieren nach dem ursprünglichen Index fehlt + usort($imgList, function($a, $b) use($allImgList){return array_search($a, $allImgList) > array_search($b, $allImgList);} ); + $imgList = array_values( $imgList );// Zum reNummerieren +// echo("imgList: "); print_r($imgList); + + if( $showAllMode == "true") $imgList = $allImgList; + + $imgInfos = array(); + foreach( $imgList as $imgName ){ + if(startsWith($imgName, "images/")){ + array_push( $imgInfos, @getimagesize(str_replace("images", "thumbs", str_replace(".jpg", ".png", $imgName)))); + } + else{ + array_push( $imgInfos, @getimagesize("thumbs/".str_replace(".jpg", ".png", $imgName))); + } + } + +?> + + + + <?php echo $wkName?> - Bilderalbum<?php echo( !empty($showAllMode)?($showAllMode == "true" ? " - alle Bilder" : "") : "");?> + + + + "> + + + + + + + + + + + + + + + + + + + + + Zur Galerieübersicht + +
+ +
+ + +

+ Photoalbum [] +

+ +

+ [ Bilder] +

+ + > + +

+ Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen. +

+
+ + + +" ); + echo( "" ); + } +?> + "); + } +?> + +Eingaben absenden" ); + echo( "" ); + } +?> + + + + + + + + +
+ + diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/indexDev.php.tmpl b/homepage/redesign2018/markdownExperiment/src/imgGallery/indexDev.php.tmpl new file mode 100644 index 0000000..12d70a0 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/indexDev.php.tmpl @@ -0,0 +1,349 @@ +real_escape_string($aGalId) + ); + +// die($queryPickedImages); + + $resultsPickedImages = $aMysqlConn->query($queryPickedImages); + + /// @todo Wie kann ich hier sinnvoll einen Fehler zurückliefern? Nullpointer? + if( !$resultsPickedImages ){ + $retMessage['error'] .= "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"; + die( "Fehler ('".$aMysqlConn->error."') bei Datenbankabfrage '".$queryPickedImages."'
"); + } + else{ + while( $pickedImagesResult = $resultsPickedImages->fetch_assoc() ){ + $retPickedImages = array_merge($retPickedImages, explode(',', $pickedImagesResult['pickedImages']) ); + } + } +//echo("retPickedImages: ");print_r($retPickedImages); die(); +return array_unique( $retPickedImages ); +}/// Ende getPickedImages + +/// Hilfsfunktion zum Anpassen der htmlDescription +function descrName($aName){ + $retVal = "Bilder der Judoka des Chemnitzer WSV beim Wettkampf ".$aName; + if( strpos($aName, "Sommerabschlussgrillen") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV beim ".$aName; + if( strpos($aName, "Jahrendefeier") >= 0 ) $retVal = "Bilder der Judoka des Chemnitzer WSV bei der ".$aName; +return $retVal; +}/// Ende descrName + + $loginStatus = "false"; + $chooseMode = "false"; + $showAllMode = "false"; + $messages = array(); + $galleryId = "0"; + $pickedImages = array(); + +// echo("imgList: "); print_r($imgList); +// foreach($imgList as $img){ +// echo(" ".$img." startsWith images/ :".startsWith($img, "images/")."\n"); +// } + +/// Übergebene galleryId abfragen + if( !empty($_GET['galId'] ) ) $galleryId = $_GET['galId']; + /// @todo Woher erhalte ich die galleryID, wenn sie nicht übergeben wird? + +/// Nachschauen, ob alle Bilder gezeigt werden sollen + if( $_GET['showAll'] == "true" ) + $showAllMode = "true"; + +// Testen, ob wir im Bilderauswahlmodus sind... + if($_GET['chooseMode'] == "true"){ + $showAllMode = "true"; // Im Bildauswahlmodus sollten auch alle Bilder angezeigt werden + $chooseMode = "true"; + // Falls ja, dann teste, ob man angemeldet ist + /// @todo brauche ich das, wenn ich nur testen will, ob bereits angemeldet ist? -> anscheinend ja! + session_start(); + session_regenerate_id(); + // Falls der serverseitige Logincookie nicht gesetzt ist + if( empty($_SESSION['login']) ){ + $loginStatus = "false"; + $messages['info'] .= "Info: Der Bilderauswahlmodus ist nur möglich, wenn man angemeldet ist!
"; + } + else{ + $loginStatus = "true"; + /// @todo Testen, ob eine intZahl vorliegt + /// @todo Testen, ob wir in der richtigen Galerie sind + $messages['info'] .= "Info: Der Bilderauswahlmodus für Galerie ".$galleryId." ist aktiv!
"; + } + } + + $mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name); + + if($mysqlConn->connect_error){ + $message['error'] .= "Fehler: Datenbankverbindung fehlgeschlagen: " . $mysqlConn->connect_error . "
"; + } + else{ + $pickedImages = getPickedImages( $mysqlConn, $galleryId ); + $mysqlConn->close(); + } + +/// Überschreiben der imgList mit den ausgewählten Bildern + $allImgList = $imgList; // Sicherungskopie + //echo("imgList:");print_r($imgList); +// echo("pickedImages: "); print_r($pickedImages); + + if( count($pickedImages) > 24 ) + $pickedImages = array_rand( $pickedImages, 24); + else{ + $restImages = array_diff( $allImgList, $pickedImages ); + //echo("restImages: "); print_r($restImages); + //echo("count(restImages): ".count($restImages)); + //echo("count(24-count($pickedImages)): ".(24-count($pickedImages))); + foreach( array_rand( $restImages, min(24, count($restImages))-count($pickedImages) ) as $k ) { + $pickedImages[] = $restImages[$k]; + } +// echo("pickedImages: "); print_r($pickedImages); + } + $imgList = $pickedImages; +// echo("imgList: "); print_r($imgList); + + /// @todo ein Sortieren nach dem ursprünglichen Index fehlt + usort($imgList, function($a, $b) use($allImgList){return array_search($a, $allImgList) > array_search($b, $allImgList);} ); + $imgList = array_values( $imgList );// Zum reNummerieren +// echo("imgList: "); print_r($imgList); + + if( $showAllMode == "true") $imgList = $allImgList; + + $imgInfos = array(); + foreach( $imgList as $imgName ){ + if(startsWith($imgName, "images/")){ + array_push( $imgInfos, getimagesize(str_replace("images", "thumbs", str_replace(".jpg", ".png", $imgName)))); + } + else{ + array_push( $imgInfos, getimagesize("thumbs/".str_replace(".jpg", ".png", $imgName))); + } + } + +?> + + + + + <?php echo $wkName?> - Bilderalbum<?php echo( !empty($showAllMode)?($showAllMode == "true" ? " - alle Bilder" : "") : "");?> + + + "> + + + + + + + + + + + + + + + + + + + + + Zur Galerieübersicht"; + else echo "Zur Galerieübersicht"; + ?> + +
+ +
+ + +

+ Photoalbum [] +

+ +

+ [ Bilder] +

+ + > + +

+ Auf die jeweiligen Bilder klicken um eine größere Ansicht zu bekommen. +

+
+ + + + + +" ); + echo( "" ); + } +?> + "); + } +?> + +Eingaben absenden" ); + echo( "" ); + } +?> + + + + + + + + +
+ + + + Besucher online: {V_VISITORS_CURRENTLY_ONLINE} + Besucher bisher: {V_PAGE_VIEWS_THIS_PAGE} + + +TEMPLATE; +$chCounter_page_title = "Photoalbum ".$wkName; +$chCounter_visible=1; include( $_SERVER['DOCUMENT_ROOT'].'/expCounter/counter.php');?> + + + diff --git a/homepage/redesign2018/markdownExperiment/src/imgGallery/view.php.tmpl b/homepage/redesign2018/markdownExperiment/src/imgGallery/view.php.tmpl new file mode 100644 index 0000000..103c076 --- /dev/null +++ b/homepage/redesign2018/markdownExperiment/src/imgGallery/view.php.tmpl @@ -0,0 +1,95 @@ + 0, "Bilder leider nicht verfügbar!"); + $currIndex = intval( $_GET["index"] ); + if( $currIndex < 0 ) $currIndex = 0; + if( $currIndex >= $imgSize) $currIndex = $imgSize-1; +?> + + + + <?php echo $wkName;?> Einzelansicht [<?php echo $currIndex;?>/<?php echo $imgSize;?>] + + + + + + + + + + + + + + +

+ + + + + + + + + diff --git a/homepage/redesign2018/markdownExperiment/src/md/hilfsmittel.md b/homepage/redesign2018/markdownExperiment/src/md/hilfsmittel.md index 13f785c..c5178f8 100644 --- a/homepage/redesign2018/markdownExperiment/src/md/hilfsmittel.md +++ b/homepage/redesign2018/markdownExperiment/src/md/hilfsmittel.md @@ -1,6 +1,6 @@ --- lang: de -title: "Helferlein für das Juodtraining" +title: "Helferlein für das Judotraining" description: "Kleine Helferlein für das Training, insbesondere das Judotraining" author: "marko" keywords: diff --git a/homepage/redesign2018/markdownExperiment/src/yaml/index.subNav.yaml b/homepage/redesign2018/markdownExperiment/src/yaml/index.subNav.yaml index 0cbd470..c01dbc0 100644 --- a/homepage/redesign2018/markdownExperiment/src/yaml/index.subNav.yaml +++ b/homepage/redesign2018/markdownExperiment/src/yaml/index.subNav.yaml @@ -6,5 +6,5 @@ subNav: - *galerien - *kontakt - *judoWiki - - *extras + - *tools ... diff --git a/infoZettelOrg/2019-03-29_Trainingsverlegung-Aushang.md b/infoZettelOrg/2019-03-29_Trainingsverlegung-Aushang.md new file mode 100644 index 0000000..89f09ca --- /dev/null +++ b/infoZettelOrg/2019-03-29_Trainingsverlegung-Aushang.md @@ -0,0 +1,17 @@ +# Infozettel + +## Geänderter Trainingsort + +Am + +- Freitag, dem 29.03.2019, und am +- Freitag, dem 05.04.2019 + +wird der Trainingsort der Judoka des CWSV in den Gymnastikraum der +Sachsenhalle verlegt. Die "Großen" können Tischtennisschläger und +-bälle mitbringen. + +![Sportplatz -> Sachsenhalle](./ustifield-sachsenhalle_cropped.png) + + +MsG marko diff --git a/infoZettelOrg/2019-04-03-OGL+GT.md b/infoZettelOrg/2019-04-03-OGL+GT.md new file mode 100644 index 0000000..65e93a3 --- /dev/null +++ b/infoZettelOrg/2019-04-03-OGL+GT.md @@ -0,0 +1,36 @@ +## Little Otto Goshi Liga und Generationenturnier + +Die Ausschreibung für die diesjährige Otto-Goshi-Liga wurde korrigiert! +Der erste Kampftag ist auf den 04.05.2019 gelegt und überschneidet sich +damit mit dem Zwergenpokal. Ich habe mich dafür entschieden, den +Zwergenpokal zugunsten der Otto-Goshi-Liga aus unserem Kalender zu +streichen. + +## Allgemeine Wettkampfinfos für Neulinge + +### Judopass + +Für die Teilnahme an (den meisten) Wettkämpfen und für die offizielle +Anerkennung der gemachten Gürtelprüfungen gibt es vom Verband einen +sogenannten Judopass. In ihm werden die bestandenen Kuyprüfungen und +die jährliche Mitgliedschaft im Veband mit Marken dokumentiert. + +Wer noch keinen hat, von dem benötige ich für dessen Bestellung: + +- 18,00 € Jahresmarke +- 12,00 € Kyumarke +- 9,00 € für den Pass, zusätzlich per Email: + - ein Passbild (digital, kann man auch selber machen) + - Passdaten: Name, Geburtsdatum, Geburtsort und Nationalität + +An der Otto-Goshi-Liga kann noch ohne Judopass teilgenommen werden. + +### Wettkampfplaner + +Für unsere Wettkampfplanung gibt es auf unserer Hompage einen extra +Bereich mit Login. Wer noch keinen Zugriff darauf hat, sendet bitte +eine Email an cwsvjudo@arcor.de (mit Zuordnung des Kindes). Den +Wettkampfplaner gibt es auf unserer Homepage (cwsvjudo.bplaced.net) +unter "Wettkampfplaner". Nicht verwechseln mit "Wettkampfkalender". Im +Kalender werden alle Wettkämpfe aufgeführt, im Planer werden nur die +aufgenommen, zu denen wir antreten wollen. diff --git a/infoZettelOrg/2019-04-06-Vogtlandpokal.md b/infoZettelOrg/2019-04-06-Vogtlandpokal.md new file mode 100644 index 0000000..6089bb2 --- /dev/null +++ b/infoZettelOrg/2019-04-06-Vogtlandpokal.md @@ -0,0 +1,33 @@ +# Offenes Vogtlandpokalturnier + +## Wettkampfdaten + +- Altersklassen: U9 (Jg. 2011/2012), U11 (Jg. 2009/2010) +- Datum: 06.04.2019 +- Ort: Göltzschtalhalle Rodewisch, Hüllebrandweg 1 (ehemals +Schillerstr. 4), 08228 Rodewisch +- Wiegen: 8:30--9:30 Uhr +- Wettkampferöffnung: ca. 10:00 Uhr + + +## Treffpunkt + +- Ort: P+R Parkplatz Südring/Stollberger Straße +- Abfahrt: 7:30 Uhr +- Kindersitz nicht vergessen! + + +## Nicht vergessen + +- Judopass +- Judogi (d. h. Jacke, Hose und Gürtel) +- *Hallenschuhe* (Auch die Fans!) +- Essen/Trinken +- Warme Socken und Pullover + +Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans) +nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe) +mitbringen. Sonst muss in Socken gegangen werden! + + +MsG marko diff --git a/infoZettelOrg/2019-04-13-LemU13.md b/infoZettelOrg/2019-04-13-LemU13.md new file mode 100644 index 0000000..a1abbf5 --- /dev/null +++ b/infoZettelOrg/2019-04-13-LemU13.md @@ -0,0 +1,33 @@ +# Landeseinzelmeisterschaften U13 + +## Wettkampfdaten + +- Altersklassen: U13 +- Datum: 13.04.2019 +- Ort: Göltzschtalhalle Rodewisch, Hüllebrandweg 1 (ehemals +Schillerstr. 4), 08228 Rodewisch +- Wiegen: 8:30--9:15 Uhr +- Wettkampferöffnung: ca. 10:00 Uhr + + +## Treffpunkt + +- Ort: P+R Parkplatz Südring/Stollberger Straße +- Abfahrt: 7:30 Uhr +- Kindersitz nicht vergessen! + + +## Nicht vergessen + +- Judopass +- Judogi (d. h. Jacke, Hose und Gürtel) +- *Hallenschuhe* (Auch die Fans!) +- Essen/Trinken +- Warme Socken und Pullover + +Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans) +nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe) +mitbringen. Sonst muss in Socken gegangen werden! + + +MsG marko diff --git a/infoZettelOrg/2019-04-13-Werdaupokal.md b/infoZettelOrg/2019-04-13-Werdaupokal.md new file mode 100644 index 0000000..46f7add --- /dev/null +++ b/infoZettelOrg/2019-04-13-Werdaupokal.md @@ -0,0 +1,33 @@ +# 15. Pokal der Stadt Werdau + +## Wettkampfdaten + +- Altersklassen: U11m/U13m/U15m/U18-m/M +- Datum: 13.04.2019 +- Ort: Mehrzweckhalle Langenhessen, Seelingstädter Str. 7, 08412 Werdau +OT Langenhessen +- Wiegen: 8:30--9:30 Uhr +- Wettkampfbeginn: ca. 10:00 Uhr + + +## Treffpunkt + +- Ort: P+R Parkplatz Südring/Stollberger Straße +- Abfahrt: 7:30 Uhr +- Kindersitz nicht vergessen! + + +## Nicht vergessen + +- Judopass +- Judogi (d. h. Jacke, Hose und Gürtel) +- *Hallenschuhe* +- Essen/Trinken +- Warme Socken und Pullover + +Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans) +nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe) +mitbringen. Sonst muss in Socken gegangen werden! + + +MsG marko diff --git a/infoZettelOrg/2019-05-04_OGL-2019-1.md b/infoZettelOrg/2019-05-04_OGL-2019-1.md new file mode 100644 index 0000000..74744c9 --- /dev/null +++ b/infoZettelOrg/2019-05-04_OGL-2019-1.md @@ -0,0 +1,32 @@ +# The Little-Otto-Goshi-Liga 2019-1 + +## Wettkampfdaten + +- Altersklassen: U9/U12 +- Datum: 04.05.2019 +- Ort: Sporthalle (hintere) BBS III, 06120 Halle, Grasnelkenweg 16 +- Wiegen: 9:30--10:15 Uhr +- Wettkampfbeginn: ca. 10:30 Uhr + + +## Treffpunkt + +- Ort: P+R Parkplatz Südring/Stollberger Straße +- Abfahrt: 7:30 Uhr +- *Kindersitz nicht vergessen!* + + +## Nicht vergessen + +- Judopass +- Judogi (d. h. Jacke, Hose und Gürtel) +- *Hallenschuhe* +- Essen/Trinken +- Warme Socken und Pullover + +Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans) +nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe) +mitbringen. Sonst muss in Socken gegangen werden! + + +MsG marko diff --git a/infoZettelOrg/2019-05-18_GenerationenturnierXII.md b/infoZettelOrg/2019-05-18_GenerationenturnierXII.md new file mode 100644 index 0000000..c1caea6 --- /dev/null +++ b/infoZettelOrg/2019-05-18_GenerationenturnierXII.md @@ -0,0 +1,40 @@ +# 12. Generationenturnier des Judo Clubs Halle e.V. + +## Wettkampfdaten + +- Datum: 18.05.2019 +- Ort: Sporthalle Brandberge, Kreuzvorwerk 30, 06120 Halle +- Wiegen: + - U9/U11: 08.30 Uhr - 09.30 Uhr + - Ü30/Ü45: 10:00-11:00 Uhr + - U15/U30: 11.00 Uhr - 12.00 Uhr + - Reisegewicht von 1 kg ab U30 + +## Treffpunkt + +- Ort: P+R Parkplatz Südring/Stollberger Straße +- Abfahrt: 6:30 Uhr +- *Kindersitz nicht vergessen!* + + +## Nicht vergessen + +- Judopass +- Judogi (d. h. Jacke, Hose und Gürtel) +- *Hallenschuhe* +- Essen/Trinken +- Warme Socken und Pullover + +Das Betreten der Sportstätten in Straßenschuhen ist (auch den Fans) +nicht gestattet. Bitte Ersatzschuhe (Badelatschen/Hallenschuhe) +mitbringen. Sonst muss in Socken gegangen werden! + + +## Ausgebucht + +Nach meiner derzeitigen Informationen haben wir gerade so genügend +Sitzplätze, um die startenden Judoka mitzunehmen. Zumindest mit den mir +bekannten, angebotenen Mitfahrgelegenheiten. + + +MsG marko diff --git a/infoZettelOrg/Makefile b/infoZettelOrg/Makefile index aac7af3..529a113 100644 --- a/infoZettelOrg/Makefile +++ b/infoZettelOrg/Makefile @@ -46,7 +46,7 @@ aushang/%.pdf: aushang/%.md $^ .PHONY: infoZettelUpload -infoZettel: $(infoZettelUploads) +infoZettelUpload: $(infoZettelUploads) uploadTouch/%.md: %.md curl --verbose --upload-file $^ ftp://cwsvjudo:***REMOVED***@cwsvjudo.bplaced.net/www/infoZettel/$^ diff --git a/infoZettelOrg/aushang/2019-03-29_Trainingsverlegung-Aushang.md b/infoZettelOrg/aushang/2019-03-29_Trainingsverlegung-Aushang.md new file mode 100644 index 0000000..89f09ca --- /dev/null +++ b/infoZettelOrg/aushang/2019-03-29_Trainingsverlegung-Aushang.md @@ -0,0 +1,17 @@ +# Infozettel + +## Geänderter Trainingsort + +Am + +- Freitag, dem 29.03.2019, und am +- Freitag, dem 05.04.2019 + +wird der Trainingsort der Judoka des CWSV in den Gymnastikraum der +Sachsenhalle verlegt. Die "Großen" können Tischtennisschläger und +-bälle mitbringen. + +![Sportplatz -> Sachsenhalle](./ustifield-sachsenhalle_cropped.png) + + +MsG marko diff --git a/infoZettelOrg/aushang/2019-04-13-Werdaupokal-Notizen.md b/infoZettelOrg/aushang/2019-04-13-Werdaupokal-Notizen.md new file mode 100644 index 0000000..7fbe69a --- /dev/null +++ b/infoZettelOrg/aushang/2019-04-13-Werdaupokal-Notizen.md @@ -0,0 +1,45 @@ +# 15. Pokal der Stadt Werdau + +Aus meiner eigenen Erfahrung ein paar Hinweise - insbesondere für +Wettkämpfe in Werdau: + +## Startkarten + +- Das Startgeld wird an einem extra in der Lobby aufgebauten Tisch +kassiert. + - Nicht die Startkarten liegenlassen! + - Quittung mit Vereinsstempel mitnehmen! +- Werdau baut auch bei rein männlicher Teilnahme zwei Waagen - jeweils +nach Altersklassen getrennt - auf. Diese sind meist an der (vom Eingang +gesehen) rechten Seite der Halle in den beiden Ecken. + +## Wettkämpfe + +- Die Listen werden in der Lobby ausgehangen. +- Werdau hat in der Vergangenheit selbständig Freundschaftskämpfe für +Starter ohne Kontrahenten angesetzt. +- Werdau verwendet gerne das vorgepoolte KO-System: + - Einteilung der Gewichtsklasse in zwei Pools (A und B). + - Innerhalb jedes Pooles kämpft jeder gegen jeden. + - Platz eins und zwei jedes Pooles kommen weiter in die Endrunde. + - Gesetzt wird über Kreuz: Der erste aus Pool A kämpft gegen + den ersten aus Pool B und umgekehrt. + - Die Endrunde ist dann ein einfaches KO-System (also ersten + Kampf verloren heißt dritter Platz). +- Nicht verletzen! + +## Pässe + +- Pässe mitnehmen (und wieder mitbringen ;). + - Die Platzierungen mit im Pass abstempeln lassen. + - Stempel ist meist im letzten/hintersten Zimmer auf dem + "Balkongang" (bzw. vom Eingang gesehen linke Seite hinten die + Treppe hoch und dann im ersten Zimmer). + - Stempel und Unterschrift! In letzter Zeit wollen sich immer mehr + um die Unterschrift drücken. + +--- + +Viel Spass und gute Kämpfe! + +marko diff --git a/infoZettelOrg/cwsvJudoAushang.sty b/infoZettelOrg/cwsvJudoAushang.sty index 7572e18..d1b7be6 100644 --- a/infoZettelOrg/cwsvJudoAushang.sty +++ b/infoZettelOrg/cwsvJudoAushang.sty @@ -68,3 +68,9 @@ % lmargin=.7cm, % rmargin=.7cm, ]{geometry} + +% unbekanntes tightlist ergänzen +% Wahrlscheinlich pUpdatefehler bei Pandoc +% in zukünftigen Revisionen evtl wieder entfernen +\providecommand{\tightlist}{% + \setlength{\itemsep}{0pt}\setlength{\parskip}{0pt}} diff --git a/mitglieder/pässe.2018/fertigePassbilder/PassbildNicoLöbling.jpg b/mitglieder/pässe.2018/fertigePassbilder/PassbildNicoLöbling.jpg new file mode 100644 index 0000000..e6f2375 Binary files /dev/null and b/mitglieder/pässe.2018/fertigePassbilder/PassbildNicoLöbling.jpg differ diff --git a/mitglieder/pässe.2018/zugesandtePassbilder/2018-06-04PassbildNicoLöbling.jpg b/mitglieder/pässe.2018/zugesandtePassbilder/2018-06-04PassbildNicoLöbling.jpg new file mode 100644 index 0000000..8cd1f71 Binary files /dev/null and b/mitglieder/pässe.2018/zugesandtePassbilder/2018-06-04PassbildNicoLöbling.jpg differ diff --git a/mitglieder/pässe.2019/PassBestellungen2019.md b/mitglieder/pässe.2019/PassBestellungen2019.md new file mode 100644 index 0000000..4ff3897 --- /dev/null +++ b/mitglieder/pässe.2019/PassBestellungen2019.md @@ -0,0 +1,10 @@ +Name | Vorname | Geb.dat. | Geb.ort | Nat. +:-----------|:------------|:-----------|:-------------------|:------- +Friedrich | Mia Sophie | 25.06.2010 | Chemnitz | deutsch +Friedrich | Dominic | 10.12.2011 | Chemnitz | deutsch +Unger | Kyra-Sophie | 23.09.2010 | Illertissen | deutsch +Unger | Alina-Marie | 12.09.2012 | Illertissen | deutsch +Herrmann | Ben | | | +Herrmann | Nelly | | | +Löwig | Sophia | | | +Baumbach | Kurt | | | diff --git a/mitglieder/pässe.2019/zugesandtePassbilder/2019-01-19-Passbild-MiaSkyFriebe.jpg b/mitglieder/pässe.2019/zugesandtePassbilder/2019-01-19-Passbild-MiaSkyFriebe.jpg new file mode 100644 index 0000000..5fe8c37 Binary files /dev/null and b/mitglieder/pässe.2019/zugesandtePassbilder/2019-01-19-Passbild-MiaSkyFriebe.jpg differ diff --git a/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-BenHerrman.jpg b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-BenHerrman.jpg new file mode 100644 index 0000000..d434749 Binary files /dev/null and b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-BenHerrman.jpg differ diff --git a/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-KyraSophieUnger.jpg b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-KyraSophieUnger.jpg new file mode 100644 index 0000000..6d4d2a7 Binary files /dev/null and b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-KyraSophieUnger.jpg differ diff --git a/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-NellyHerrman.jpg b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-NellyHerrman.jpg new file mode 100644 index 0000000..13ea828 Binary files /dev/null and b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-06-Passbild-NellyHerrman.jpg differ diff --git a/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-07-Passbild-DominicFriedrich.jpg b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-07-Passbild-DominicFriedrich.jpg new file mode 100644 index 0000000..5497f53 Binary files /dev/null and b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-07-Passbild-DominicFriedrich.jpg differ diff --git a/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-07-Passbild-MiaSophieFriedrich.jpg b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-07-Passbild-MiaSophieFriedrich.jpg new file mode 100644 index 0000000..5497f53 Binary files /dev/null and b/mitglieder/pässe.2019/zugesandtePassbilder/2019-02-07-Passbild-MiaSophieFriedrich.jpg differ diff --git a/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09-FKRXXIII.fods b/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09-FKRXXIII.fods new file mode 100644 index 0000000..b2179c4 --- /dev/null +++ b/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09-FKRXXIII.fods @@ -0,0 +1,2972 @@ + + + + + 2019-03-07T08:09:30.227000000 + + 2014-03-26T08:26:35Z + 49 + P1DT6H49M6S + LibreOffice/5.1.3.2$Windows_x86 LibreOffice_project/644e4637d1d8544fd9f56425bd6cec110e49301b + + Tables2019-03-07T08:08:42.1320000002014-09-28T16:36:39 + + + 0 + 0 + 24994 + 17162 + + + view1 + + + 1 + 28 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + 1 + 0 + 72 + 60 + true + + + Altersklassen + 1853 + 0 + 72 + 60 + false + true + true + true + 12632256 + true + true + true + true + false + false + false + 1000 + 1000 + 1 + 1 + true + + + + + true + true + true + true + 12632256 + true + false + true + 3 + true + false + false + 1000 + 1000 + 1 + 1 + true + true + true + FS-1061DN (Kassel) + vA3+/0ZTLTEwNjFETiAoS2Fzc2VsKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS3lvY2VyYSBGUy0xMDYxRE4gR1gAAAAAAAAAAAAAAAAWAAEA4gwAAAAAAAAEAAhSAAAEdAAAM1ROVwYARgBTAC0AMQAwADYAMQBEAE4AIAAoAEsAYQBzAHMAZQBsACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAwHcAAAMA/+EAwEACQAAAAAAZAABAAcAWAICAAEAWAICAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAABwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRQY0sBAAAARAEAAPAGAACQAAkAAAA0CJoLKgAqAJgSnhoqACoAnhqYEjQImgsqACoAmBKeGioAKgCeGpgSAAAEAAIAAAAAAAAAAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADAwMDAAAAAABQAAAAAAAAAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMIAAAri0AAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwgAACuLQAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAAAAAAAgGQAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAACAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAgD8AAAAAAQAeAAAAAAAMAAAAAACAPwAAAAAAAAAAAQAAAAEAAABYAgAAWAIAAAAAAAD/////AQEAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAIAAEoBAAAsAQAAWAIAAJYAAAA8AAAAFgAAAAAAAAAFAAAA7ADCAewAwgHsAMIB7ADCAQAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADnAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRQY0tQwwAARAEAADABAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABkUGNLIE4AAEQBAAAsAQAAAAAAAAAAAABWAGUAcgB0AHIAYQB1AGwAaQBjAGgAIAAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAQ09NUEFUX0RVUExFWF9NT0RFCgBEVVBMRVhfT0ZG + + + de + DE + + + + + + 0 + false + true + true + false + false + false + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + . + + . + + + + + - + + - + + + + + : + + + + + : + + : + + + + + : + + + + + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + - + + + + + + + - € + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + DM + + + - + + DM + + + + + DM + + + + - + + DM + + + + + DM + + + - + + DM + + + + + DM + + + + - + + DM + + + + + + DM + + + - + + + DM + + + + - DM + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + DM + + + - + + + DM + + + + - + + DM + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + SFr. + + + + SFr. - + + + + + SFr. + + + + + SFr. - + + + + + SFr. + + + + SFr. - + + + + + SFr. + + + + + SFr. - + + + + + SFr. + + + + + + SFr. + + - + + + + + SFr. + + - + + + + + + + + + + + + + + + + - + + + + + + - + + + + + + + + + + SFr. + + + + + + SFr. + + - + + + + + SFr. + + - + + + + + + + + + + + + + + + + + + - + + + + + + - + + + + + + + + + + + + + + + + + + + + + . + + + + + + + . + + + + + + + + + + : + + + + + + + : + + : + + + + + + + . + + . + + + + : + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + Page 1 + + + + + + + ??? (???) + + + 00.00.0000, 00:00:00 + + + + + Page 1 / 99 + + + + + + ??? + + + + 1 + + + + + + ??? + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + Jahr: + + + 2019 + + + + + + + + + + + Jg. + + + + 2013 + + + 2012 + + + 2011 + + + 2010 + + + 2009 + + + 2008 + + + 2007 + + + 2006 + + + 2005 + + + 2004 + + + 2003 + + + 2002 + + + 2001 + + + 2000 + + + + + + Name + + + Vorname + + + Geb. + + + U + + + GK + + + U7 + + + U8 + + + U9 + + + U10 + + + U11 + + + U12 + + + U13 + + + U14 + + + U15 + + + U16 + + + U17 + + + U18 + + + U19 + + + U20 + + + Kmt + + + Auto + + + Platz + + + + + + Mögel + + + Jan + + + 1969 + + + Ü30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + x + + + + + + + Schwope + + + Elly Pauline + + + 1997 + + + U30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Weidensager + + + Nick + + + 1997 + + + U30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Köhler + + + Eric + + + 2004 + + + 16 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + + + + + + Friedrich + + + Sebastian + + + 2006 + + + 14 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + + + + + Graf + + + Rio + + + 2007 + + + 13 + + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Dumler + + + Arthur + + + 2007 + + + 13 + + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Herrmann + + + Nelly + + + 2009 + + + 11 + + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Mögel + + + Lennox + + + 2009 + + + 11 + + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + x + + + + + + + + Friedrich + + + Mia Sophie + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Siegmund + + + Jasmin + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Unger + + + Kyra + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Herrmann + + + Ben Niclas + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Löbling + + + Nico + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Brittnacher + + + Romy + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + (X) + + + + + + + + Löwig + + + Sophia + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Friebe + + + Mia Sky + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Friedrich + + + Dominic + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Unger + + + Alina-Marie + + + 2012 + + + 8 + + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Baumbach + + + Kurt + + + 2012 + + + 8 + + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Löbling + + + Pascal + + + + Ü30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + + + + + + + Termin: + + + 09.03.19 + + + + + + + + Wettkampf: + + + 23. Frühjahrskrümelrandori des JC Antonsthal-Schwarzenberg + + + + + + + + AK: + + + U11-- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + Vorname + + + T-Shirt Größe + + + + + + Hilbich + + + Florian + + + 146 + + + + + + Rößger + + + Luisa + + + 140 + + + + + + Gerber + + + Max + + + s + + + + + + Köhler + + + Eric + + + 134 + + + + + + Richter + + + Luise + + + 152 + + + + + + Schubert + + + Jenniffer + + + 140 + + + + + + Rößger + + + Thora + + + 140 + + + + + + Gerber + + + Sabina + + + 144 + + + + + + Löschau + + + Aurelius + + + 128 + + + + + + Schubert + + + Colin + + + 128 + + + + + + Graf + + + Rio + + + + + + + Gerber + + + Melina + + + 110 + + + + + + Dumler + + + Arthur + + + 116 + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09_FKR_Antrag_A.odt b/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09_FKR_Antrag_A.odt new file mode 100644 index 0000000..085f144 Binary files /dev/null and b/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09_FKR_Antrag_A.odt differ diff --git a/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09_FKR_Antrag_B.odt b/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09_FKR_Antrag_B.odt new file mode 100644 index 0000000..ca7f391 Binary files /dev/null and b/shiai/shiai.2019/2019-03-09-FKRXXIII/2019-03-09_FKR_Antrag_B.odt differ diff --git a/shiai/shiai.2019/2019-03-09-FKRXXIII/mitfahrer.md b/shiai/shiai.2019/2019-03-09-FKRXXIII/mitfahrer.md new file mode 100644 index 0000000..a16f224 --- /dev/null +++ b/shiai/shiai.2019/2019-03-09-FKRXXIII/mitfahrer.md @@ -0,0 +1,36 @@ +# Friebe I (7 Plätze) + +1. Friebe, Mia Sky +2. Löbling, Nico +3. Löwig, Sophia +4. Unger, Kyra +5. Unger, Alina-Marie +6. Elter, Unger +7. Elter, Sophia + + +# Friebe II (7 Plätze) + +1. Herrmann, Nelly +2. Herrmann, Ben Niclas +3. Friedrich, Mia Sophie +4. Friedrich, Dominic +5. Baumbach, Kurt +6. Elter, Herrmann +7. Elter, Nico + +# Marko (4 Plätze) + +- Brittnacher, Romy +- Siegmund, Jasmin +- Mögel, Jan +- (Mögel, Lennox) + +# ? + +- Elter, Baumbach + +# ??? + +- Elter, Friedrich +- Elter, Brittnacher diff --git a/shiai/shiai.2019/2019-03-30-BEMU13/2019-03-09-FKRXXIII.fods b/shiai/shiai.2019/2019-03-30-BEMU13/2019-03-09-FKRXXIII.fods new file mode 100644 index 0000000..b2179c4 --- /dev/null +++ b/shiai/shiai.2019/2019-03-30-BEMU13/2019-03-09-FKRXXIII.fods @@ -0,0 +1,2972 @@ + + + + + 2019-03-07T08:09:30.227000000 + + 2014-03-26T08:26:35Z + 49 + P1DT6H49M6S + LibreOffice/5.1.3.2$Windows_x86 LibreOffice_project/644e4637d1d8544fd9f56425bd6cec110e49301b + + Tables2019-03-07T08:08:42.1320000002014-09-28T16:36:39 + + + 0 + 0 + 24994 + 17162 + + + view1 + + + 1 + 28 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + 1 + 0 + 72 + 60 + true + + + Altersklassen + 1853 + 0 + 72 + 60 + false + true + true + true + 12632256 + true + true + true + true + false + false + false + 1000 + 1000 + 1 + 1 + true + + + + + true + true + true + true + 12632256 + true + false + true + 3 + true + false + false + 1000 + 1000 + 1 + 1 + true + true + true + FS-1061DN (Kassel) + vA3+/0ZTLTEwNjFETiAoS2Fzc2VsKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAS3lvY2VyYSBGUy0xMDYxRE4gR1gAAAAAAAAAAAAAAAAWAAEA4gwAAAAAAAAEAAhSAAAEdAAAM1ROVwYARgBTAC0AMQAwADYAMQBEAE4AIAAoAEsAYQBzAHMAZQBsACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAwHcAAAMA/+EAwEACQAAAAAAZAABAAcAWAICAAEAWAICAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAABwBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRQY0sBAAAARAEAAPAGAACQAAkAAAA0CJoLKgAqAJgSnhoqACoAnhqYEjQImgsqACoAmBKeGioAKgCeGpgSAAAEAAIAAAAAAAAAAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAADAwMDAAAAAABQAAAAAAAAAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMIAAAri0AAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEwgAACuLQAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAAAAAAAgGQAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAAAAAABAAAAAAACAAIAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAgD8AAAAAAQAeAAAAAAAMAAAAAACAPwAAAAAAAAAAAQAAAAEAAABYAgAAWAIAAAAAAAD/////AQEAAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAIAAEoBAAAsAQAAWAIAAJYAAAA8AAAAFgAAAAAAAAAFAAAA7ADCAewAwgHsAMIB7ADCAQAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAECgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADnAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRQY0tQwwAARAEAADABAAAAAAAAAAAAAAAAAAABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABkUGNLIE4AAEQBAAAsAQAAAAAAAAAAAABWAGUAcgB0AHIAYQB1AGwAaQBjAGgAIAAxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAQ09NUEFUX0RVUExFWF9NT0RFCgBEVVBMRVhfT0ZG + + + de + DE + + + + + + 0 + false + true + true + false + false + false + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + . + + . + + + + + - + + - + + + + + : + + + + + : + + : + + + + + : + + + + + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + - + + + + + + + - € + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + DM + + + - + + DM + + + + + DM + + + + - + + DM + + + + + DM + + + - + + DM + + + + + DM + + + + - + + DM + + + + + + DM + + + - + + + DM + + + + - DM + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + DM + + + - + + + DM + + + + - + + DM + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + SFr. + + + + SFr. - + + + + + SFr. + + + + + SFr. - + + + + + SFr. + + + + SFr. - + + + + + SFr. + + + + + SFr. - + + + + + SFr. + + + + + + SFr. + + - + + + + + SFr. + + - + + + + + + + + + + + + + + + + - + + + + + + - + + + + + + + + + + SFr. + + + + + + SFr. + + - + + + + + SFr. + + - + + + + + + + + + + + + + + + + + + - + + + + + + - + + + + + + + + + + + + + + + + + + + + + . + + + + + + + . + + + + + + + + + + : + + + + + + + : + + : + + + + + + + . + + . + + + + : + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + Page 1 + + + + + + + ??? (???) + + + 00.00.0000, 00:00:00 + + + + + Page 1 / 99 + + + + + + ??? + + + + 1 + + + + + + ??? + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + Jahr: + + + 2019 + + + + + + + + + + + Jg. + + + + 2013 + + + 2012 + + + 2011 + + + 2010 + + + 2009 + + + 2008 + + + 2007 + + + 2006 + + + 2005 + + + 2004 + + + 2003 + + + 2002 + + + 2001 + + + 2000 + + + + + + Name + + + Vorname + + + Geb. + + + U + + + GK + + + U7 + + + U8 + + + U9 + + + U10 + + + U11 + + + U12 + + + U13 + + + U14 + + + U15 + + + U16 + + + U17 + + + U18 + + + U19 + + + U20 + + + Kmt + + + Auto + + + Platz + + + + + + Mögel + + + Jan + + + 1969 + + + Ü30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + x + + + + + + + Schwope + + + Elly Pauline + + + 1997 + + + U30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Weidensager + + + Nick + + + 1997 + + + U30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Köhler + + + Eric + + + 2004 + + + 16 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + + + + + + Friedrich + + + Sebastian + + + 2006 + + + 14 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + + + + + Graf + + + Rio + + + 2007 + + + 13 + + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Dumler + + + Arthur + + + 2007 + + + 13 + + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Herrmann + + + Nelly + + + 2009 + + + 11 + + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Mögel + + + Lennox + + + 2009 + + + 11 + + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + x + + + + + + + + Friedrich + + + Mia Sophie + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Siegmund + + + Jasmin + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Unger + + + Kyra + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Herrmann + + + Ben Niclas + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Löbling + + + Nico + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Brittnacher + + + Romy + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + (X) + + + + + + + + Löwig + + + Sophia + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Friebe + + + Mia Sky + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Friedrich + + + Dominic + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Unger + + + Alina-Marie + + + 2012 + + + 8 + + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Baumbach + + + Kurt + + + 2012 + + + 8 + + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Löbling + + + Pascal + + + + Ü30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + + + + + + + Termin: + + + 09.03.19 + + + + + + + + Wettkampf: + + + 23. Frühjahrskrümelrandori des JC Antonsthal-Schwarzenberg + + + + + + + + AK: + + + U11-- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + Vorname + + + T-Shirt Größe + + + + + + Hilbich + + + Florian + + + 146 + + + + + + Rößger + + + Luisa + + + 140 + + + + + + Gerber + + + Max + + + s + + + + + + Köhler + + + Eric + + + 134 + + + + + + Richter + + + Luise + + + 152 + + + + + + Schubert + + + Jenniffer + + + 140 + + + + + + Rößger + + + Thora + + + 140 + + + + + + Gerber + + + Sabina + + + 144 + + + + + + Löschau + + + Aurelius + + + 128 + + + + + + Schubert + + + Colin + + + 128 + + + + + + Graf + + + Rio + + + + + + + Gerber + + + Melina + + + 110 + + + + + + Dumler + + + Arthur + + + 116 + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/shiai/shiai.2019/2019-03-30-BEMU13/2019-03-30-BemU13.fods b/shiai/shiai.2019/2019-03-30-BEMU13/2019-03-30-BemU13.fods new file mode 100644 index 0000000..2e15537 --- /dev/null +++ b/shiai/shiai.2019/2019-03-30-BEMU13/2019-03-30-BemU13.fods @@ -0,0 +1,2971 @@ + + + + + 2019-03-29T12:52:51.539000000 + + 2014-03-26T08:26:35Z + 50 + P1DT6H53M9S + LibreOffice/5.1.3.2$Windows_x86 LibreOffice_project/644e4637d1d8544fd9f56425bd6cec110e49301b + + Tables2019-03-29T12:52:21.5610000002014-09-28T16:36:39 + + + 0 + 0 + 24994 + 5161 + + + view1 + + + 1 + 26 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 0 + 1 + 0 + 72 + 60 + true + + + Altersklassen + 1853 + 0 + 72 + 60 + false + true + true + true + 12632256 + true + true + true + true + false + false + false + 1000 + 1000 + 1 + 1 + true + + + + + true + true + true + true + 12632256 + true + false + true + 3 + true + false + false + 1000 + 1000 + 1 + 1 + true + true + true + 2500ci KX (oben) + wSX+/zI1MDBjaSBLWCAob2JlbikAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjUwMGNpIEtYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAEA4iQAAAEAAAAEAAhSAAAEdAAAM1ROVwYAMgA1ADAAMABjAGkAIABLAFgAIAAoAG8AYgBlAG4AKQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAwHcAAAkA/+EAwIACQAAAAAAZAABAAcAWAICAAIAWAICAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAwAAACIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRQY0sBAAAAUwEAAJAKAACQiDgAAAA0CJoLKgAqAJgSnhoqACoAnhqYEjQImgsqACoAmBKeGioAKgCeGpgSAAANAAIAAhAAAAAAAAACAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAAAAAEUCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIoEAAAAAAAARQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAwMDEAAAAAAAUAAAAAAAAAMDAwMAAAAAAAAAAATCAAAK4tAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATCAAAK4tAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAJAAAAADIgg2QAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAQAAAAAAAAABAAAAEBAAAAJAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAgD8AAAAAAQAeAAAAAAAMAAAAAACAPwAAAAAAAAAAAgAAAAAAAABYAgAAWAIAAAMAAAD/////AAEDAAEAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAgAIAAEoBAAAsAQAAWAIAAJYAAAA8AAAAFgAAAAEAAAAFAAAA7ADCAewAwgHsAMIB7ADCAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAsKAEF1cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAOcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAgAAAAEAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAwMDAwAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBcmlhbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wAAAAAAAAAAPwsAAQACAAAAAAAgQQAAIEEAACBBAAAAAAAAAAAFAAIAAAAgQQAAAAALAAAAAAAAAAAAAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAAAAAAABwAAACIBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkUGNLUMMAAFMBAAAwAQAAAAAAAAAAAAAAAAAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAZFBjSxAnAABTAQAAGAAAAAAAAAAAAAAAZFBjSyBOAABTAQAARAMAAAAAAAAAAAAAVgBlAHIAdAByAGEAdQBsAGkAYwBoACAAMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkUGNL6QMAAFMBAADkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAQAAAAAAAAAzGAIAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAFAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0D4wcANTMLAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZFBjS2TqAABTAWltGAAAAHicAwAAAAABZFBjS2PqAABTAQAAzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAQ09NUEFUX0RVUExFWF9NT0RFDwBEVVBMRVhfTE9OR0VER0U= + + + de + DE + + + + + + 0 + false + true + true + false + false + false + 7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + . + + . + + + + + - + + - + + + + + : + + + + + : + + : + + + + + : + + + + + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + - + + + + + + + - € + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + + DM + + + - + + DM + + + + + DM + + + + - + + DM + + + + + DM + + + - + + DM + + + + + DM + + + + - + + DM + + + + + + DM + + + - + + + DM + + + + - DM + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + DM + + + - + + + DM + + + + - + + DM + + + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + + + SFr. + + + + SFr. - + + + + + SFr. + + + + + SFr. - + + + + + SFr. + + + + SFr. - + + + + + SFr. + + + + + SFr. - + + + + + SFr. + + + + + + SFr. + + - + + + + + SFr. + + - + + + + + + + + + + + + + + + + - + + + + + + - + + + + + + + + + + SFr. + + + + + + SFr. + + - + + + + + SFr. + + - + + + + + + + + + + + + + + + + + + - + + + + + + - + + + + + + + + + + + + + + + + + + + + + . + + + + + + + . + + + + + + + + + + : + + + + + + + : + + : + + + + + + + . + + . + + + + : + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ??? + + + + Page 1 + + + + + + + ??? (???) + + + 00.00.0000, 00:00:00 + + + + + Page 1 / 99 + + + + + + ??? + + + + 1 + + + + + + ??? + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + Jahr: + + + 2019 + + + + + + + + + + + Jg. + + + + 2013 + + + 2012 + + + 2011 + + + 2010 + + + 2009 + + + 2008 + + + 2007 + + + 2006 + + + 2005 + + + 2004 + + + 2003 + + + 2002 + + + 2001 + + + 2000 + + + + + + Name + + + Vorname + + + Geb. + + + U + + + GK + + + U7 + + + U8 + + + U9 + + + U10 + + + U11 + + + U12 + + + U13 + + + U14 + + + U15 + + + U16 + + + U17 + + + U18 + + + U19 + + + U20 + + + Kmt + + + Auto + + + Platz + + + + + + Mögel + + + Jan + + + 1969 + + + Ü30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + x + + + + + + + Schwope + + + Elly Pauline + + + 1997 + + + U30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Weidensager + + + Nick + + + 1997 + + + U30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Köhler + + + Eric + + + 2004 + + + 16 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + + + + + + Friedrich + + + Sebastian + + + 2006 + + + 14 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + + + + + Graf + + + Rio + + + 2007 + + + 13 + + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Dumler + + + Arthur + + + 2007 + + + 13 + + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + Herrmann + + + Nelly + + + 2009 + + + 11 + + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Mögel + + + Lennox + + + 2009 + + + 11 + + + + - + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + x + + + + + + + + Friedrich + + + Mia Sophie + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Siegmund + + + Jasmin + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Unger + + + Kyra + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Herrmann + + + Ben Niclas + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Löbling + + + Nico + + + 2010 + + + 10 + + + + - + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Brittnacher + + + Romy + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + (X) + + + + + + + + Löwig + + + Sophia + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Friebe + + + Mia Sky + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Friedrich + + + Dominic + + + 2011 + + + 9 + + + + - + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Unger + + + Alina-Marie + + + 2012 + + + 8 + + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Baumbach + + + Kurt + + + 2012 + + + 8 + + + + - + + + X + + + X + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + X + + + + + + + + Löbling + + + Pascal + + + + Ü30 + + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + - + + + + + + + + + + + + + Termin: + + + 30.03.19 + + + + + + + + Wettkampf: + + + BEM U13 + + + + + + + + AK: + + + U13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Name + + + Vorname + + + T-Shirt Größe + + + + + + Hilbich + + + Florian + + + 146 + + + + + + Rößger + + + Luisa + + + 140 + + + + + + Gerber + + + Max + + + s + + + + + + Köhler + + + Eric + + + 134 + + + + + + Richter + + + Luise + + + 152 + + + + + + Schubert + + + Jenniffer + + + 140 + + + + + + Rößger + + + Thora + + + 140 + + + + + + Gerber + + + Sabina + + + 144 + + + + + + Löschau + + + Aurelius + + + 128 + + + + + + Schubert + + + Colin + + + 128 + + + + + + Graf + + + Rio + + + + + + + Gerber + + + Melina + + + 110 + + + + + + Dumler + + + Arthur + + + 116 + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/shiai/shiai.2019/2019-04-13-LemU13/2019-04-13-LemU13-Rodewisch-Antrag-A.odt b/shiai/shiai.2019/2019-04-13-LemU13/2019-04-13-LemU13-Rodewisch-Antrag-A.odt new file mode 100644 index 0000000..b477380 Binary files /dev/null and b/shiai/shiai.2019/2019-04-13-LemU13/2019-04-13-LemU13-Rodewisch-Antrag-A.odt differ diff --git a/shiai/shiai.2019/2019-04-13-LemU13/2019-04-13-LemU13-Rodewisch-Antrag-B.odt b/shiai/shiai.2019/2019-04-13-LemU13/2019-04-13-LemU13-Rodewisch-Antrag-B.odt new file mode 100644 index 0000000..f722aba Binary files /dev/null and b/shiai/shiai.2019/2019-04-13-LemU13/2019-04-13-LemU13-Rodewisch-Antrag-B.odt differ diff --git a/shiai/teilnehmerListe.fods b/shiai/teilnehmerListe.fods deleted file mode 100644 index 39ff821..0000000 --- a/shiai/teilnehmerListe.fods +++ /dev/null @@ -1,5398 +0,0 @@ - - - - -<<<<<<< HEAD - 2019-03-15T09:40:24.647748321 - 2016-09-18T15:59:12.989338302 - 2014-03-26T08:26:35Z - 47 - P1DT6H42M36S - LibreOffice/4.3.3.2$Linux_X86_64 LibreOffice_project/430m0$Build-2 - - Tables2014-09-28T16:36:39 -======= - 2018-11-20T08:14:07.940000000 - 2016-09-18T15:59:12.989338302 - 2014-03-26T08:26:35Z - 46 - P1DT6H38M - LibreOffice/5.1.3.2$Windows_x86 LibreOffice_project/644e4637d1d8544fd9f56425bd6cec110e49301b - - Tables2014-09-28T16:36:39 ->>>>>>> promoInfo - - - 0 - 0 -<<<<<<< HEAD - 28119 - 26615 -======= - 28005 - 24163 ->>>>>>> promoInfo - - - view1 - - -<<<<<<< HEAD - 22 - 10 -======= - 0 - 4 ->>>>>>> promoInfo - 0 - 0 - 0 - 0 - 2 - 0 - 0 - 0 - 0 - 0 - 72 - 60 - true - - - Altersklassen -<<<<<<< HEAD - 590 -======= - 1853 ->>>>>>> promoInfo - 0 - 72 - 60 - false - true - true - true - 12632256 - true - true - true - true -<<<<<<< HEAD -======= - false ->>>>>>> promoInfo - false - false - 1000 - 1000 - 1 - 1 - true - - - - -<<<<<<< HEAD - false - false - false - false - true - 0 - hAH+/0dlbmVyaWMgUHJpbnRlcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAU0dFTlBSVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAMAqgAAAAAAAAAIAFZUAAAkbQAASm9iRGF0YSAxCnByaW50ZXI9R2VuZXJpYyBQcmludGVyCm9yaWVudGF0aW9uPVBvcnRyYWl0CmNvcGllcz0xCm1hcmdpbmRhanVzdG1lbnQ9MCwwLDAsMApjb2xvcmRlcHRoPTI0CnBzbGV2ZWw9MApwZGZkZXZpY2U9MApjb2xvcmRldmljZT0wClBQRENvbnRleERhdGEKUGFnZVNpemU6TGV0dGVyAAASAENPTVBBVF9EVVBMRVhfTU9ERQoARFVQTEVYX09GRg== - Generic Printer - true - true - false - false - false - 1 - true - true - 1000 - true - 3 - true - true -======= - true - true - true - true - 12632256 - true - false - true - 3 - true - false - false - 1000 - 1000 - 1 - 1 - true - true - true - PDFCreator - HAX+/1BERkNyZWF0b3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUERGQ3JlYXRvcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAEAPgQAAAAAAAAEAAhSAAAEdAAAM1ROVwYAUABEAEYAQwByAGUAYQB0AG8AcgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEEAAbcAFwDU++AAQEACQCaCzQIZAABAA8AWAICAAEAWAIDAAEAQQA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBSSVbiMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAQJxAnECcAABAnAAAAAAAAAACIAFwDAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAABAAUDQDACiIBAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAA57FLTAMAAAAFAAoA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAACIAAAAU01USgAAAAAQAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgBDT01QQVRfRFVQTEVYX01PREUOAERVUExFWF9VTktOT1dO ->>>>>>> promoInfo - - - de - DE - - - - - -<<<<<<< HEAD - true - 12632256 - true - 1 - 1000 - true - true -======= - 0 - false - true - true - false - false - false - 7 ->>>>>>> promoInfo - - - - - - - - - - - - - - - - - - -<<<<<<< HEAD -======= - - ->>>>>>> promoInfo - - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - - -<<<<<<< HEAD - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - . - - . - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - : - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - : - - : - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - : - - -<<<<<<< HEAD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - € - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DM - - - - - - DM - - - - - DM - - - - - - - DM - - - - - DM - - - - - - DM - - - - - DM - - - - - - - DM - - - - - - DM - - - - - DM - - - - - DM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DM - - - - - DM - - - - - - - DM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SFr. - - - - SFr. - - - - - - SFr. - - - - - SFr. - - - - - - SFr. - - - - SFr. - - - - - - SFr. - - - - - SFr. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - € - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DM - - - - - - DM - - - - - DM - - - - - - - DM - - - - - DM - - - - - - DM - - - - - DM - - - - - - - DM - - - - - - DM - - - - - - - DM - - - - - DM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DM - - - - - - - DM - - - - - - - DM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SFr. - - - - SFr. - - - - - - SFr. - - - - - SFr. - - - - - - SFr. - - - - SFr. - - - - - - SFr. - - - - - SFr. - - - - - - SFr. - - - - - - SFr. - - - - - - - - SFr. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SFr. - - - - - - SFr. - - - - - - - - SFr. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - - - - -======= - - - - ->>>>>>> promoInfo - - . - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - . - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - : - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - : - - : - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - . - - . - - - - : - - -<<<<<<< HEAD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - - - - - - - - - - -<<<<<<< HEAD - - -======= - - ->>>>>>> promoInfo - - - - - - - - -<<<<<<< HEAD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - - - - - -<<<<<<< HEAD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - - - - -<<<<<<< HEAD - - - - -======= - - - - ->>>>>>> promoInfo - - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - - -<<<<<<< HEAD - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - - - - ??? - - - - Page 1 - - - - - - - ??? (???) - - -<<<<<<< HEAD - 00.00.0000, 00:00:00 -======= - 00.00.0000, 00:00:00 ->>>>>>> promoInfo - - - - - Page 1 / 99 - - - - - - ??? - - - - 1 - - - - - - ??? - - - - 1 - - - - - - - - - - - - - -<<<<<<< HEAD - -======= - ->>>>>>> promoInfo - - - - - - - - - - - Jahr: - -<<<<<<< HEAD - - 2019 - - - -======= - - 2018 - - - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - - - - Jg. - - - - 2013 - - - 2012 - - - 2011 - - - 2010 - - - 2009 - - - 2008 - - - 2007 - - - 2006 - - - 2005 - - - 2004 - - - 2003 - - - 2002 - - - 2001 - - - 2000 - -======= - - - - Jg. - - - - 2012 - - - 2011 - - - 2010 - - - 2009 - - - 2008 - - - 2007 - - - 2006 - - - 2005 - - - 2004 - - - 2003 - - - 2002 - - - 2001 - - - 2000 - - - 1999 - ->>>>>>> promoInfo - - - - - Name - -<<<<<<< HEAD - - Vorname - - - Geb. - - - U - - - GK - - - U7 - - - U8 - - - U9 - - - U10 - - - U11 - - - U12 - - - U13 - - - U14 - - - U15 - - - U16 - - - U17 - - - U18 - - - U19 - - - U20 - - - Kmt - - - Auto - - -======= - - Vorname - - - Geb. - - - U - - - GK - - - U7 - - - U8 - - - U9 - - - U10 - - - U11 - - - U12 - - - U13 - - - U14 - - - U15 - - - U16 - - - U17 - - - U18 - - - U19 - - - U20 - - - Kmt - - - Auto - - ->>>>>>> promoInfo - Platz - - - - - - Bunzel - - - Marko - -<<<<<<< HEAD - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mögel - - - Jan - - - 1969 - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sultanov - - - Abduazim - - - 1994 - - - U30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Schwope - - - Elly Pauline - - - 1997 - - - U30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Weidensager - - - Nick - - - 1997 - - - U30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Löbling - - - Pascal - - - 2001 - - - 19 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - Köhler - - - Eric - - - 2004 - - - 16 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - Friedrich - - - Sebastian - - - 2006 - - - 14 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Graf - - - Rio - - - 2007 - - - 13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dumler - - - Arthur - - - 2007 - - - 13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Herrmann - - - Nelly - - - 2009 - - - 11 - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mögel - - - Lennox - - - 2009 - - - 11 - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Friedrich - - - Mia Sophie - - - 2010 - - - 10 - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Siegmund - - - Jasmin - - - 2010 - - - 10 - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unger - - - Kyra - - - 2010 - - - 10 - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Herrmann - - - Ben - - - 2010 - - - 10 - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Löbling - - - Nico - - - 2010 - - - 10 - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Brittnacher - - - Romy - - - 2011 - - - 9 - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Löwig - - - Sophia - - - 2011 - - - 9 - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Friebe - - - Mia Sky - - - 2011 - - - 9 - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Friedrich - - - Dominic - - - 2011 - - - 9 - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unger - - - Alina-Marie - - - 2012 - - - 8 - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Baumbach - - - Kurt - - - 2012 - - - 8 - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -======= - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mögel - - - Jan - - - 1969 - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Schwope - - - Elly Pauline - - - 1997 - - - U30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Weidensager - - - Nick - - - 1997 - - - U30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Köhler - - - Eric - - - 2004 - - - 15 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - Friedrich - - - Sebastian - - - 2006 - - - 13 - - - - - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Graf - - - Rio - - - 2007 - - - 12 - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dumler - - - Arthur - - - 2007 - - - 12 - - - - - - - - - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Herrmann - - - Nelly - - - 2009 - - - 10 - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mögel - - - Lennox - - - 2009 - - - 10 - - - - - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Siegmund - - - Jasmin - - - 2010 - - - 9 - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unger - - - Kyra - - - 2010 - - - 9 - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Herrmann - - - Ben - - - 2010 - - - 9 - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Löbling - - - Nico - - - 2010 - - - 9 - - - - - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Brittnacher - - - Romy - - - 2011 - - - 8 - - - - - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Baumbach - - - Kurt - - - 2012 - - - 7 - - - - X - - - X - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Friedrich - - - Mia - - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Götze - - - Sophia - - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Löbling - - - Pascal - - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Treydte - - - Janosch - - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mia - - - - Ü30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - - Termin: - - -<<<<<<< HEAD - - -======= - - ->>>>>>> promoInfo - - - - - Wettkampf: - -<<<<<<< HEAD - - - -======= - - - ->>>>>>> promoInfo - - - - - AK: - -<<<<<<< HEAD - - - - - - - - - - - - - - - - - - - -======= - - - - - - - - - - - - - ->>>>>>> promoInfo - - - - - - - - - - -<<<<<<< HEAD - - -======= - - ->>>>>>> promoInfo - - - - -<<<<<<< HEAD - - - - - - - Name - - - Vorname - - -======= - - - - - - - Name - - - Vorname - - ->>>>>>> promoInfo - T-Shirt Größe - - - - -<<<<<<< HEAD - - Hilbich - - - Florian - - -======= - - Hilbich - - - Florian - - ->>>>>>> promoInfo - 146 - - - - -<<<<<<< HEAD - - Rößger - - - Luisa - - -======= - - Rößger - - - Luisa - - ->>>>>>> promoInfo - 140 - - - - -<<<<<<< HEAD - - Gerber - - - Max - - -======= - - Gerber - - - Max - - ->>>>>>> promoInfo - s - - - - -<<<<<<< HEAD - - Köhler - - - Eric - - -======= - - Köhler - - - Eric - - ->>>>>>> promoInfo - 134 - - - - -<<<<<<< HEAD - - Richter - - - Luise - - -======= - - Richter - - - Luise - - ->>>>>>> promoInfo - 152 - - - - -<<<<<<< HEAD - - Schubert - - - Jenniffer - - -======= - - Schubert - - - Jenniffer - - ->>>>>>> promoInfo - 140 - - - - -<<<<<<< HEAD - - Rößger - - - Thora - - -======= - - Rößger - - - Thora - - ->>>>>>> promoInfo - 140 - - - - -<<<<<<< HEAD - - Gerber - - - Sabina - - -======= - - Gerber - - - Sabina - - ->>>>>>> promoInfo - 144 - - - - -<<<<<<< HEAD - - Löschau - - - Aurelius - - -======= - - Löschau - - - Aurelius - - ->>>>>>> promoInfo - 128 - - - - -<<<<<<< HEAD - - Schubert - - - Colin - - -======= - - Schubert - - - Colin - - ->>>>>>> promoInfo - 128 - - - - -<<<<<<< HEAD - - Graf - - - Rio - - - - - - - Gerber - - - Melina - - -======= - - Graf - - - Rio - - - - - - - Gerber - - - Melina - - ->>>>>>> promoInfo - 110 - - - - -<<<<<<< HEAD - - Dumler - - - Arthur - - -======= - - Dumler - - - Arthur - - ->>>>>>> promoInfo - 116 - - - - - - - - - - - - - - - -<<<<<<< HEAD - - - - -======= - - - - ->>>>>>> promoInfo - - - - - - - - \ No newline at end of file