Date: Wed, 14 Sep 2005 14:37:30 +0200 (CEST) From: Lars Engels <lars.engels@0x20.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/86110: games/hattrickorganizer 1.32 -> 1.34 Message-ID: <200509141237.j8ECbUIZ017851@krusty.bsd-geek.de> Resent-Message-ID: <200509141240.j8ECeHXk020519@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 86110 >Category: ports >Synopsis: games/hattrickorganizer 1.32 -> 1.34 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Sep 14 12:40:17 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Lars Engels >Release: FreeBSD 5.4-STABLE i386 >Organization: >Environment: System: FreeBSD krusty.bsd-geek.de 5.4-STABLE FreeBSD 5.4-STABLE #2: Fri Jul 22 22:51:30 CEST 2005 lars@krusty.bsd-geek.de:/usr/obj/usr/src/sys/KRUSTY i386 >Description: Update games/hattrickorganizer from version 1.32 to 1.34. Includes a new startup script so no more symbolic links are needed. This also introduces the ability to backup/restore the database. For other changes see http://www.wow-auctions.net/ho/english/index.htm >How-To-Repeat: >Fix: diff -Nur hattrickorganizer.orig/Makefile hattrickorganizer-1.34/Makefile --- hattrickorganizer.orig/Makefile Wed Jun 8 03:16:16 2005 +++ hattrickorganizer-1.34/Makefile Wed Sep 14 14:02:24 2005 @@ -6,7 +6,7 @@ # PORTNAME= hattrickorganizer -PORTVERSION= 1.32 +PORTVERSION= 1.34 CATEGORIES= games java MASTER_SITES= http://www.wow-auctions.net/ho/download/ DISTNAME= ho_${PORTVERSION:S/.//g} @@ -16,8 +16,6 @@ EXTRACT_AFTER_ARGS= -d ${WRKSRC} -PKGMESSAGE= ${WRKDIR}/pkg-message -SUB_FILES= pkg-message USE_ZIP= yes NO_BUILD= yes USE_JAVA= yes @@ -26,10 +24,7 @@ do-install: @${MKDIR} ${PREFIX}/share/${PORTNAME} @${CP} -r ${WRKSRC}/* ${PREFIX}/share/${PORTNAME} - @${CP} -r ${FILESDIR}/hattrickorganizer /${PREFIX}/bin/ - @${CHMOD} 755 /${PREFIX}/bin/hattrickorganizer - -post-install: - @${CAT} ${PKGMESSAGE} + @${CP} ${FILESDIR}/hattrickorganizer ${PREFIX}/bin/hattrickorganizer + @${CHMOD} 755 ${PREFIX}/bin/hattrickorganizer .include <bsd.port.mk> diff -Nur hattrickorganizer.orig/distinfo hattrickorganizer-1.34/distinfo --- hattrickorganizer.orig/distinfo Wed Jun 8 03:16:16 2005 +++ hattrickorganizer-1.34/distinfo Wed Sep 14 14:02:24 2005 @@ -1,2 +1,2 @@ -MD5 (ho_132.zip) = c7c76e0d418582200b5b0c0ba01a9d4a -SIZE (ho_132.zip) = 3913654 +MD5 (ho_134.zip) = 0cf2b50162907cf9bb38ff547a6eba55 +SIZE (ho_134.zip) = 3862309 diff -Nur hattrickorganizer.orig/files/hattrickorganizer hattrickorganizer-1.34/files/hattrickorganizer --- hattrickorganizer.orig/files/hattrickorganizer Fri May 20 14:19:58 2005 +++ hattrickorganizer-1.34/files/hattrickorganizer Wed Sep 14 14:02:24 2005 @@ -1,192 +1,390 @@ -#!/bin/tcsh +#!/bin/sh +# +# Start script for Hattrick Organizer v0.3 +# Originally created by patta, RAGtime and others +# Last Change (2005-08-07) by Lars Engels (lars@bsd-geek.de) +# +# List of changes: +# +# 0.3 - Introduce the bourne shell as standard shell +# - Make HO! multi-user capable +# - Several layout changes to the script +# - check database before doing backup +# - quit if java version is not returned (NO Sun java?) +# +######################################################################## +# # +# User editable settings # +# # +# To use HO! with multiple users on one system: # +# - create a new directory, e.g. /usr/local/share/hattrickorganizer # +# or /opt/ho and unpack the HO archive there! # +# # +# - copy HO.sh to a directory in users $PATH, e.g. # +# cp HO.sh /usr/local/bin/ho # +# # +# - edit the HODIR variable to this new directory (without the ``) # +# and HOHOME to any user writable directory! # +# # +# - start HO! out of a terminal via e.g. 'ho' # +# # +# - manage your team :) # +# # +# # +# Alternatively, as single user just start HO! from the HO directory # +# via ./HO.sh without editing something! # +# # +######################################################################## -### If you like to, you can try to fix the backup/restore -### commands and submit a pr :) +# Enter HO!'s directory. Default is the current directory. +# In multi user mode this can be any directory (full path!). +# +#HODIR=`pwd` +HODIR=/usr/local/share/hattrickorganizer + +# Next comes HO!'s directory to store its user data. +# This directory must be writable by the user, +# default is install directory (single user mode). +# +# SINGLE USER: +# +#HOHOME=$HODIR +# +# MULTI USER: +# +#HOHOME=~/.hattrickorganizer + +HOHOME=~/.hattrickorganizer + +# Where can I find java? +# Default is just looking at $PATH +# (remember option -j) +#JAVA=`which java` + +JAVA=`which java` # Enter the maximum amount of backups you do want to store. # Default is 5 # #MAX_BACKUPS=5 -set MAX_BACKUPS=5 - +MAX_BACKUPS=5 -########################################################## -# DO NOT EDIT ANY MORE UNTIL YOU KNOW WHAT YOU'RE DOING! # -########################################################## +######################################################################## +# DO NOT EDIT ANY MORE UNTIL YOU KNOW WHAT YOU'RE DOING! # +######################################################################## - -# Enter HO!'s directory. Default is the current directory +# How do you call me? # -#HODIR=. -set HODIR=/usr/local/share/hattrickorganizer +HONAME=$0 + +# Enter the directory where the database is stored +# +#DATABASEDIR=$HOHOME/db -set HOME=~/.hattrickorganizer +DATABASEDIR=$HOHOME/db # Enter the default backup-directory. It will be created -# in $HODIR/$DB/ if it doesn't exist. Default is `backup' -# -#BACKUPDIR=backup +# in $HOHOME/db if it doesn't exist. Default is 'backup'. +# +#BACKUPDIR=$HOHOME/db/backup -set BACKUPDIR=~/.hattrickorganizer/backup +BACKUPDIR=$HOHOME/db/backup -set JAVA=`which java` +# Enter the directory where the HO! plugins reside +# +#PLUGINSDIR=$HOHOME/hoplugins -set PLUGINSDIR=~/.hattrickorganizer/hoplugins +PLUGINSDIR=$HOHOME/hoplugins -# database-directory: +# Enter the directory where the language files are +# +#SPRACHDIR=$HOHOME/sprache -set DATABASEDIR=~/.hattrickorganizer/db +SPRACHDIR=$HOHOME/sprache -# Store the name of this script. + +# required java version -set HONAME=$0 +JAVAVERREQ=1.4.1 -# Which database to backup? +# Which database files and name of backup file? -set SCRIPT=database.script +BACKUPLIST="database.data database.script database.backup database.properties" +PREFIX=database # We need a date for the backup-file -set DATE=`date "+%Y-%m-%d"` +DATE=`date "+%Y-%m-%d"` + +# Check for javaversion by default? + +CHECK=true # Perform backup by default? -set BACKUP=true +BACKUP=true # Restore by default? # IMPORTANT! This is just for initialisation! -# If you set this to true strange things will occure! +# If you set this to 'true' strange things will occure! + +RESTORE=false + +# check at least top install directory -set RESTORE=false +if [ ! -d $HODIR ] +then + echo "INSTALL DIRECTORY NOT FOUND: $HODIR" >&2 + exit 4 +fi # Which version of HO! is this? -set HOVERSION=`cat $HODIR/version.txt` +HOVERSION=`cat $HODIR/version.txt` -# MAIN +# Output the help + +help(){ + cat <<-EOF >&2 + Usage: $HONAME [option] + + Options: + -h --help This help text + -v --version Show HO! version + -f --force Start without checking java-version + -nb --nobackup Start without backup + -j --java <path> Use this java + -r --restore Restore the last backup-file + -rd --restoredate <date> + Restore the backup-file from <date> + -bd --backupdir Use this as the backup directory + EOF + exit 1 +} + +# Start HO! + +start(){ + echo "Starting HO from $HOHOME..." + cd $HOHOME + $JAVA -jar $HODIR/hocoded.jar + + # check database and print warning + if [ `grep modified $DATABASEDIR/database.properties | \ + cut -d= -f2` = "no" ] + then + echo "Database OK!" + else + cat <<-EOF >&2 + Database was not relased correctly! + Probably next time you will have problems starting HO... + ... but you can restore a backup with switches -r or -rd. :-) + EOF + fi +} + +# Backup + +backup(){ + # Create the backupdir if there's none + if [ ! -d $BACKUPDIR ] + then + echo "Creating $BACKUPDIR" + mkdir -p $BACKUPDIR + fi + cd $BACKUPDIR + # Delete too old backup files + while [ "`ls -r | wc -l`" -gt $MAX_BACKUPS ] + do + rm -f `ls -r | tail -n 1` + done + cd $DATABASEDIR + # THE BIG TRICK: ls gives false (status>0) if one of the files is missing!!! ;-) + if ls $BACKUPLIST &> /dev/null + then + # is database OK? + if [ `grep modified database.properties | cut -d= -f2` = "no" ] + then + # f - is needed in case someone has set his $TAPE variable... + tar -cf - $BACKUPLIST | gzip > $BACKUPDIR/$PREFIX-$DATE.tgz + # ...and this is shorter, but won't work if there's no GNU tar! :-( + # tar -czf $BACKUPDIR/$PREFIX-$DATE.tgz $BACKUPLIST + else + cat <<-EOF >&2 + OLD database was not relased correctly! I will do no backup + BTW,... if you have problems starting HO, try switches -r or -rd + EOF + fi + else + echo "Database files not found, so there is nothing to backup." + fi +} + +# Restore + +restore(){ + cd $DATABASEDIR + if [ -z $RESTOREDATE ] + then + if ls $BACKUPDIR/$PREFIX*.tgz &> /dev/null + then + gunzip -c `ls $BACKUPDIR/$PREFIX*.tgz | tail -n 1` | tar -xf - + else + echo "No backup file(s) found!" >&2 + exit 2 + fi + else + if [ -r "$BACKUPDIR/$PREFIX-$RESTOREDATE.tgz" ] + then + gunzip -c "$BACKUPDIR/$PREFIX-$RESTOREDATE.tgz" | tar -xf - + echo "Restored database from $BACKUPDIR/ \ + $PREFIX-$RESTOREDATE.tgz" + else + echo "Error reading backup file $BACKUPDIR/$PREFIX-$RESTOREDATE.tgz!" >&2 + exit 2 + fi + fi +} + +# Check java -version + +checkjava(){ + test -x "$JAVA" || { echo "Can't find java!" ; exit 1 ; } + JAVAVER=`$JAVA -version 2>&1 | head -n 1 | \ + awk -F\" '{print $2}' | sed s/[^0-9\.].*//g` + JAVAMAJ=`echo $JAVAVER | awk -F. '{print $1}'` + JAVAMIN=`echo $JAVAVER | awk -F. '{print $2}'` + JAVAMINMIN=`echo $JAVAVER | awk -F. '{print $3}'` + JAVAMAJREQ=`echo $JAVAVERREQ | awk -F. '{print $1}'` + JAVAMINREQ=`echo $JAVAVERREQ | awk -F. '{print $2}'` + JAVAMINMINREQ=`echo $JAVAVERREQ | awk -F. '{print $3}'` + if ( [ $JAVAMAJ = "" ] || [ $JAVAMIN = "" ] \ + || [ $JAVAMINMIN = "" ] ) ; then + echo -e "Couldn't check java version! \n + Try '$HONAME -f' to override the version check" >&2 + exit 3 + fi + if ( [ $JAVAMAJ -lt $JAVAMAJREQ ] || \ + ( [ $JAVAMAJ -eq $JAVAMAJREQ ] && \ + [ $JAVAMIN -lt $JAVAMINREQ ] ) || \ + ( [ $JAVAMAJ -eq $JAVAMAJREQ ] && \ + [ $JAVAMIN -eq $JAVAMINREQ ] && \ + [ $JAVAMINMIN -lt $JAVAMINMINREQ ] ) ) + then + cat <<-EOF >&2 + The default Java version is too old! + You could try another one: '$HONAME -j <path>' + EOF + exit 3 + fi +} + +### MAIN # Run throuh the params -if ($#argv != 0) then - switch ($argv[1]) - case {-v,--version}: - echo "This is HO\! version $HOVERSION" - exit (0) - #case {-nb,--nobackup}: - # set BACKUP=false - # breaksw - case {-h,--help}: - echo "Usage: $HONAME [option]" - echo "Options:" - echo " -h --help This help text." - echo " -v --version Show HO\! version." - # echo " -nb --nobackup Start without backup" - # echo " -r --restore Restore the last backup-/le." - # echo " -rd --restoredate <date>" - # echo " Restore the backup-/le from <date>" - # echo " -bd --backupdir Use this as the backup directory." - exit (0) - #case {-bd,--backupdir}: - # set BACKUPDIR=$2 - # shift - # breaksw - #case {-r,--restore}: - # set RESTORE=true - # set BACKUP=false - # breaksw - #case {rd,--restoredir}: - # set RESTORE=true - # set RESTOREDATE=$2 - # if (-z $RESTOREDATE) then - # echo "Option rd or restoredate needs a parameter\!" - # exit 1 - # endif - # set BACKUP=false; - # shift - # breaksw - default: - echo "Unknown parameter $1" - echo "Try $HONAME --help to get help." - exit (1) - endsw - shift -endif - -if (! -d $HOME) then - echo "creating ~/.hattrickorganizer" - mkdir ~/.hattrickorganizer -endif - -if (! -d $DATABASEDIR) then - echo "creating $DATABASEDIR" - mkdir -p $DATABASEDIR -endif +until [ -z "$1" ] +do + case "$1" in + -j|--java) + JAVA=$2; + if [ -z $JAVA ] + then + echo "Option j or java needs a parameter!" >&2 + exit 1 + fi + shift + ;; + -v|--version) + echo "This is HO! version $HOVERSION"; + exit 0 + ;; + -nb|--nobackup) + BACKUP=false + ;; + -f|--force) + CHECK=false + ;; + -h|--help) + help + ;; + -bd|--backupdir) + BACKUPDIR=$2 + shift + ;; + -r|--restore) + RESTORE=true; + BACKUP=false + ;; + -rd|--restoredate) + RESTORE=true + RESTOREDATE=$2 + if [ -z $RESTOREDATE ] + then + echo "Option rd or restoredate needs a date as parameter!" >&2 + if ls $BACKUPDIR/$PREFIX-*.tgz &> /dev/null + then + echo -e "Available backups: \n`ls -1 $BACKUPDIR/$PREFIX-*.tgz`" >&2 + else + echo "Sorry, there's no Backup available!!!" >&2 + fi + exit 1 + fi + BACKUP=false; + shift + ;; + *) + echo -e "Unknown parameter $1\n + Try $HONAME --help to get help." >&2 + exit 1 + ;; + esac + shift +done + + +# Check for java -version (if called without `force') + +`$CHECK` && checkjava + +# Check if all needed directories exist + +if [ ! -d $HOHOME ] +then + echo "creating $HOHOME" + mkdir $HOHOME +fi -if (! -d $PLUGINSDIR) then +if [ ! -d $PLUGINSDIR ] +then echo "creating $PLUGINSDIR" - mkdir -p $PLUGINSDIR -endif + cp -r $HODIR/hoplugins $HOHOME +fi -#if (! -e $HOME/sprache) then -# ln -s $HODIR/sprache $HOME/sprache -#endif - -#if (! -e $HOME/hoplugins) then -# ln -s $HODIR/hoplugins $HOME/hoplugins -#endif +if [ ! -d $SPRACHDIR ] +then + echo "creating $SPRACHDIR" + cp -r $HODIR/sprache $HOHOME +fi # Perform backups or restore only if $DATABASEDIR exists -#if (-d $DATABASEDIR) then -# `$BACKUP` -# cd $DATABASEDIR -# if (! -d $BACKUPDIR) then -# echo "creating $DATABASEDIR$BACKUPDIR" -# mkdir -p $BACKUPDIR -# endif -# cd $BACKUPDIR -# #while (`ls -r | wc -l` -gt $MAX_BACKUPS) -# # rm -f `ls -r | tail -1` -# #end -# cd .. -# if (-r $SCRIPT) then -# gzip -c $SCRIPT > $BACKUPDIR/$SCRIPT-$DATE.gz -# else -# echo "No database found, so there is nothing to backup." -# endif -# cd .. -# -# `$RESTORE` -# cd $DATABASEDIR -# if (-z $RESTOREDATE) then -# if (`ls $BACKUPDIR/$SCRIPT*.gz | wc -l` -lt 1) then -# echo "No backup-/le found." -# exit 1 -# endif -# gunzip -c `ls $BACKUPDIR/$SCRIPT*.gz | tail -1` > $SCRIPT -# else -# if (-r $BACKUPDIR/$SCRIPT-$RESTOREDATE.gz) then -# gunzip -c "$BACKUPDIR/$SCRIPT-$RESTOREDATE.gz" > $SCRIPT -# echo "restored database from $BACKUPDIR/$SCRIPT-$RESTOREDATE.gz" -# else -# echo "Error reading backup-/le $BACKUPDIR/$SCRIPT-$RESTOREDATE.gz." -# cd .. -# exit 1 -# endif -# endif -# cd .. -# -#else -# echo "No directory $DATABASEDIR found. This is your /rst HO\!-Session, isn't it? Have fun\!" -#endif +if [ -d $DATABASEDIR ] +then + `$BACKUP` && backup + `$RESTORE` && restore +else + echo -e "No directory $DATABASEDIR found. \n + This is your first HO!-Session, isn't it? Have fun!" +fi # Start HO! - cd $HOME - $JAVA -jar $HODIR/hocoded.jar + +start # Exit this script diff -Nur hattrickorganizer.orig/files/pkg-message.in hattrickorganizer-1.34/files/pkg-message.in --- hattrickorganizer.orig/files/pkg-message.in Fri May 20 14:19:58 2005 +++ hattrickorganizer-1.34/files/pkg-message.in Thu Jan 1 01:00:00 1970 @@ -1,29 +0,0 @@ -************************************************************ - -Check if %%PREFIX%%/bin/java exists. If not, create a link: - - ln -s %%PREFIX%%/bin/javavm %%PREFIX%%/bin/java - -or change the start script %%PREFIX%%/bin/hattrickorganizer - - - - !!! BEWARE OF THE SECURITY RISKS BEFORE DOING THIS !!! - -In order to change the language of Hattrick Organizer - -uncomment the following in %%PREFIX%%/bin/hattrickorganizer: - -#if (! -e $HOME/sprache) then -# ln -s $HODIR/sprache $HOME/sprache -#endif - -If you want to use plugins and the plugin update tool - -uncomment: - -#if (! -e $HOME/hoplugins) then -# ln -s $HODIR/hoplugins $HOME/hoplugins -#endif - -************************************************************ diff -Nur hattrickorganizer.orig/pkg-plist hattrickorganizer-1.34/pkg-plist --- hattrickorganizer.orig/pkg-plist Wed Jun 8 03:16:16 2005 +++ hattrickorganizer-1.34/pkg-plist Wed Sep 14 14:02:24 2005 @@ -7,8 +7,17 @@ %%DATADIR%%/flags/101flag.png %%DATADIR%%/flags/102flag.png %%DATADIR%%/flags/103flag.png +%%DATADIR%%/flags/104flag.png +%%DATADIR%%/flags/105flag.png %%DATADIR%%/flags/10flag.png %%DATADIR%%/flags/11flag.png +%%DATADIR%%/flags/121flag.png +%%DATADIR%%/flags/122flag.png +%%DATADIR%%/flags/123flag.png +%%DATADIR%%/flags/125flag.png +%%DATADIR%%/flags/126flag.png +%%DATADIR%%/flags/127flag.png +%%DATADIR%%/flags/128flag.png %%DATADIR%%/flags/12flag.png %%DATADIR%%/flags/13flag.png %%DATADIR%%/flags/14flag.png @@ -85,6 +94,7 @@ %%DATADIR%%/flags/80flag.png %%DATADIR%%/flags/82flag.png %%DATADIR%%/flags/83flag.png +%%DATADIR%%/flags/86flag.png %%DATADIR%%/flags/87flag.png %%DATADIR%%/flags/88flag.png %%DATADIR%%/flags/89flag.png @@ -204,10 +214,12 @@ %%DATADIR%%/hoplugins/pluginUpdater/rsc/languages.xml %%DATADIR%%/hoplugins/pluginUpdater/rsc/newsletter.xml %%DATADIR%%/hoplugins/pluginUpdater/rsc/tmp.xml +%%DATADIR%%/hoplugins/pluginUpdater/sprache/Czech.properties %%DATADIR%%/hoplugins/pluginUpdater/sprache/Deutsch.properties %%DATADIR%%/hoplugins/pluginUpdater/sprache/English.properties %%DATADIR%%/hoplugins/pluginUpdater/sprache/Nederlands.properties %%DATADIR%%/hoplugins/pluginUpdater/sprache/Polish.properties +%%DATADIR%%/hoplugins/pluginUpdater/sprache/Portugues.properties %%DATADIR%%/hoplugins/pluginUpdater/sprache/Spanish.properties %%DATADIR%%/hoplugins/pluginUpdater/sprache/svenska.properties %%DATADIR%%/hoplugins/teamAnalyzer/SystemManager.class @@ -318,15 +330,14 @@ %%DATADIR%%/hoplugins/teamAnalyzer/vo/TeamLineup.class %%DATADIR%%/hoplugins/teamAnalyzer/vo/UserTeamSpotLineup.class %%DATADIR%%/hoplugins/trainingExperience/FutureTrainingManager.class -%%DATADIR%%/hoplugins/trainingExperience/OldTrainingManager$1.class %%DATADIR%%/hoplugins/trainingExperience/OldTrainingManager$SkillupComperator.class %%DATADIR%%/hoplugins/trainingExperience/OldTrainingManager.class %%DATADIR%%/hoplugins/trainingExperience/constants/Skills.class %%DATADIR%%/hoplugins/trainingExperience/constants/Trainings.class %%DATADIR%%/hoplugins/trainingExperience/dao/DividerDAO.class +%%DATADIR%%/hoplugins/trainingExperience/dao/EffectDAO$1.class %%DATADIR%%/hoplugins/trainingExperience/dao/EffectDAO.class %%DATADIR%%/hoplugins/trainingExperience/dao/TrainingDAO.class -%%DATADIR%%/hoplugins/trainingExperience/plugin.xml %%DATADIR%%/hoplugins/trainingExperience/ui/AnalyzerPanel$1.class %%DATADIR%%/hoplugins/trainingExperience/ui/AnalyzerPanel.class %%DATADIR%%/hoplugins/trainingExperience/ui/ChangeTableRenderer.class @@ -444,12 +455,17 @@ %%DATADIR%%/sprache/Portugues.properties %%DATADIR%%/sprache/PortuguesBrasil.properties %%DATADIR%%/sprache/Romanian.properties +%%DATADIR%%/sprache/Russian.properties +%%DATADIR%%/sprache/Slovak.properties %%DATADIR%%/sprache/Spanish.properties +%%DATADIR%%/sprache/Ukranian.properties %%DATADIR%%/sprache/french.properties %%DATADIR%%/sprache/languages.properties %%DATADIR%%/sprache/norsk.properties %%DATADIR%%/sprache/svenska.properties %%DATADIR%%/version.txt +@dirrm share/nls/en_US.US-ASCII +@dirrm share/nls/POSIX @dirrm %%DATADIR%%/sprache @dirrm %%DATADIR%%/hoplugins/transfers/vo @dirrm %%DATADIR%%/hoplugins/transfers/utils >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509141237.j8ECbUIZ017851>