2           '  '      '  '  '  ' '     3   >   > =     3  >     O        _ &  _ g g     _       }  >    g          O O O    O   ! O" # $ %&' ( ) * +,  - ./0 1 2 345  6 78 79 ':; '< .= >?@ABCD EFconfig(Lorg/swordapp/server/SwordConfiguration;logLorg/apache/log4j/Logger;+(Lorg/swordapp/server/SwordConfiguration;)VCodeLineNumberTableLocalVariableTablethis&Lorg/swordapp/server/SwordAPIEndpoint;getR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Vreq'Ljavax/servlet/http/HttpServletRequest;resp(Ljavax/servlet/http/HttpServletResponse; ExceptionspostputdeletegetAuthCredentialsN(Ljavax/servlet/http/HttpServletRequest;)Lorg/swordapp/server/AuthCredentials;requestO(Ljavax/servlet/http/HttpServletRequest;Z)Lorg/swordapp/server/AuthCredentials;userPass[Ljava/lang/String; authHeaderLjava/lang/String;isBasicZallowUnauthenticatedauth%Lorg/swordapp/server/AuthCredentials;authTypeobo StackMapTableDGdecodeAuthHeader'(Ljava/lang/String;)[Ljava/lang/String; encodedHeaderauthBitsunencodedCreds getFullUrl;(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String;urlqstoreAndCheckBinaryH(Lorg/swordapp/server/Deposit;Lorg/swordapp/server/SwordConfiguration;)Vbuf[BlenI inputstreamLjava/io/InputStream; outputstreamLjava/io/OutputStream;eLjava/io/IOException;msg receivedMD5md5(Ljava/security/NoSuchAlgorithmException;depositLorg/swordapp/server/Deposit; tempDirectoryfilenamefileLjava/io/File;fLengthJHIJKL!addDepositPropertiesFromMultipartG(Lorg/swordapp/server/Deposit;Ljavax/servlet/http/HttpServletRequest;)V entryPartabderaLorg/apache/abdera/Abdera;parser!Lorg/apache/abdera/parser/Parser;entryDoc"Lorg/apache/abdera/model/Document;entryLorg/apache/abdera/model/Entry;bits packagingctmimeType mediaPartcontentDispositionnameitem1Lorg/apache/commons/fileupload/disk/DiskFileItem;i$Ljava/util/Iterator;*Lorg/swordapp/server/SwordServerException;itemsLjava/util/List;LocalVariableTypeTableCLorg/apache/abdera/model/Document;CLjava/util/List;MNcleanup (Lorg/swordapp/server/Deposit;)Vtmp getGeneratorK(Lorg/swordapp/server/SwordConfiguration;)Lorg/apache/abdera/model/Element; generator!Lorg/apache/abdera/model/Element; generatorUrigeneratorVersion adminEmailOaddDepositPropertiesFromEntryaddDepositPropertiesFromBinary contentType swordErrorr(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Lorg/swordapp/server/SwordError;)Vdoc#Lorg/swordapp/server/ErrorDocument;swLjava/io/StringWriter;pwLjava/io/PrintWriter; treatmentverbosesse Lorg/swordapp/server/SwordError;PgetContentDispositionValue8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;keyparameterParser/Lorg/apache/commons/fileupload/ParameterParser; separatorC parametersLjava/util/Map;5Ljava/util/Map;getPartsFromRequest9(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/List;factory/Lorg/apache/commons/fileupload/FileItemFactory;upload9Lorg/apache/commons/fileupload/servlet/ServletFileUpload;3Lorg/apache/commons/fileupload/FileUploadException;4 Signaturel(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/List;getAcceptHeaders8(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/Map;header acceptHeadersheadersLjava/util/Enumeration;QR^(Ljavax/servlet/http/HttpServletRequest;)Ljava/util/Map;copyInputToOutput.(Ljava/io/InputStream;Ljava/io/OutputStream;)Vcountinout BUFFER_SIZEbuffergetContentType getInProgress*(Ljavax/servlet/http/HttpServletRequest;)Ziph inProgressgetMetadataRelevantmdrmetadataRelevant()V SourceFileSwordAPIEndpoint.java  UTF-8P ST I UV java/lang/StringBuilder Auth type = WX YVZ [\none ]^ AuthorizationG _` On-Behalf-Ofbasic ab/No Authentication Credentials supplied/required c\#org/swordapp/server/AuthCredentials d&org/swordapp/server/SwordAuthException e 4Server is not properly configured for authentication T fMalformed Authorization header g\Basic hV%Authentication method not supported: i\java/lang/String jkl mn o: fpNMalformed Authorization header; unable to determine username/password boundary qrs tV?H uv(org/swordapp/server/SwordServerException?Attempting to store and check deposit which has no input stream w xVMStore and Check operation requested, but no tempDirectory specified in config XSWORD-y z{java/io/FileOutputStream java/io/File |J }~K  java/io/IOException  |  VThe uploaded file exceeded the maximum file size this server will accept (the file is W9 bytes but the server will only accept files as large as W bytes)org/swordapp/server/SwordError   `Received filechecksum: VReceived file checksum header: 9Bad MD5 for file. Aborting with appropriate error messagefThe received MD5 checksum for the deposited file did not match the checksum sent by the deposit client Package temporarily stored as: &java/security/NoSuchAlgorithmException ]^M N w /org/apache/commons/fileupload/disk/DiskFileItem Content-Disposition STatomorg/apache/abdera/Abdera   org/apache/abdera/model/Entry payload Content-MD5 Packaging 8Filename could not be extracted from Content-Disposition wVapplication/octet-stream; T  T T T javax/servlet/ServletException  w :V =V V  uriO version T u w  w w!org/swordapp/server/ErrorDocument V    V wjava/io/StringWriterjava/io/PrintWriter   r   Content-Typetext/xml    -org/apache/commons/fileupload/ParameterParser Q 6org/apache/commons/fileupload/disk/DiskFileItemFactory7org/apache/commons/fileupload/servlet/ServletFileUpload  ^1org/apache/commons/fileupload/FileUploadExceptionjava/util/HashMap R w  Vaccept ^  } In-Progresstruefalse0The In-Progress header MUST be 'true' or 'false'Metadata-Relevant$org/swordapp/server/SwordAPIEndpoint java/lang/Object%javax/servlet/http/HttpServletRequestorg/swordapp/server/Deposit&org/swordapp/server/SwordConfigurationjava/io/InputStreamjava/io/OutputStreamjava/lang/Throwablejava/util/Listjava/util/Iteratororg/apache/abdera/model/Element&javax/servlet/http/HttpServletResponse java/util/Mapjava/util/EnumerationsetCharacterEncoding(Ljava/lang/String;)V getAuthType()Ljava/lang/String;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringorg/apache/log4j/Loggerinfo(Ljava/lang/Object;)VequalsIgnoreCase(Ljava/lang/String;)Z getHeader&(Ljava/lang/String;)Ljava/lang/String;equals(Ljava/lang/Object;)Zdebug9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V(Z)VsplitfataltrimwarngetBytes()[B&org/apache/commons/codec/binary/Base64 decodeBase64([B)[B([B)V((Ljava/lang/String;I)[Ljava/lang/String; getRequestURL()Ljava/lang/StringBuffer;java/lang/StringBuffergetQueryStringgetInputStream()Ljava/io/InputStream;()ZgetTempDirectoryjava/util/UUID randomUUID()Ljava/util/UUID;(Ljava/io/File;)Vread([B)Iwrite([BII)Vclose(Ljava/lang/Throwable;)VsetFilelength()JgetMaxUploadSize()I(J)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;org/swordapp/server/UriRegistryERROR_MAX_UPLOAD_SIZE_EXCEEDED'(Ljava/lang/String;Ljava/lang/String;)V!org/swordapp/server/ChecksumUtils generateMD5getMd5ERROR_CHECKSUM_MISMATCHiterator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object; getHeaders1()Lorg/apache/commons/fileupload/FileItemHeaders;-org/apache/commons/fileupload/FileItemHeaders getParser#()Lorg/apache/abdera/parser/Parser;org/apache/abdera/parser/Parserparse9(Ljava/io/InputStream;)Lorg/apache/abdera/model/Document; org/apache/abdera/model/DocumentgetRoot#()Lorg/apache/abdera/model/Element;setEntry"(Lorg/apache/abdera/model/Entry;)VERROR_BAD_REQUEST setFilenamesetInputStream(Ljava/io/InputStream;)V setMimeTypesetMd5 setPackaginggetFile()Ljava/io/File;administratorEmail getFactory%()Lorg/apache/abdera/factory/Factory;!org/apache/abdera/factory/Factory newGenerator%()Lorg/apache/abdera/model/Generator;setAttributeValueG(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/abdera/model/Element;setText$()Ljavax/servlet/ServletInputStream;PACKAGE_BINARYreturnErrorBodyhasBody getErrorUri getStatus(Ljava/lang/String;I)V setStatus(I)V getMessagereturnStackTraceInError(Ljava/io/Writer;)VprintStackTrace(Ljava/io/PrintWriter;)V getBuffer((Ljava/lang/String;ILjava/lang/String;)V:(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V setHeader getWriter()Ljava/io/PrintWriter;writeTo;(Ljava/io/Writer;Lorg/swordapp/server/SwordConfiguration;)Vflush$(Ljava/lang/String;C)Ljava/util/Map;&(Ljava/lang/Object;)Ljava/lang/Object;2(Lorg/apache/commons/fileupload/FileItemFactory;)V parseRequestgetHeaderNames()Ljava/util/Enumeration;hasMoreElements nextElement toLowerCase startsWith8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;([BII)I getLogger,(Ljava/lang/Class;)Lorg/apache/log4j/Logger;! F **+#$ % K , *+   }EK , 01   }EK , 67   }EK , <=   }E;*+B N*:: Y   +:+:65 &YN-Y *:Y22N YYN-^HI JK+N5Q?TIWRYf[j]r^~_cfijknpstw\ ?vRc %f! :+ M,!"Y!#,2$; Y % ,2 &Y Y % ,2 'Y,2$()*N-+,:-"Y-6 ~ -Hey4y%E58+./M+0N-$- Y , 1 - M, 6*88 .' 6 +2 3Y45,6,7N- 3Y85 Y - 9 : ;< :+2:=Y>Y?@::AY6BCD: CD :3YF>Y?:+GH7,IF,I9 Y J KL ,IMN :OYPQR: Y S  +T:  Y U   & VW: OYX Q Y Y  :3YF:3YFlTEZE*"&0TZls$>D^muys}ZOl=  y  $|D\   "Th   j B  LB dh  K 3O,*,[N-\:]^_:`ab:*cd:e:f:gYh:  i:  j:  kl: + mn`ob:`pb: *qd:   OYrsQt: u:   v :  2$: f: + w+ x+ y+z+ {*+*|:}Y~3#$2<F M V ] htz}!#$%& ')-2/!1+3M-V$ ] h t  {m! c @" <# $ 2%<&$'()*! +,,,&,-.h/ &,0K 12n3> !$ 12K4 }EO56++M,,W+G"79< =?BCD  7   89-o+M+N+:,V,MgYh::,W--W 6 HIJK#M,N8OCPGRRTaVjXmZH,A85:;ooh<a=Y>"R ?@A4,NgYh:i:-j:kl:+m`abc!d-e3fR444-$!-. !/EB *,N,a:,o:,p: :,:*qd: OYrsQ+w+z+{+x+-y*+*|: }Y ~3Rklmn$o3q8s@vJwYyf|l}r~x~f + C%$x!@\JR.3   h4 }EODE* - Y--:,-::*'Y:Y:-/:Y--:Y--:,,,*,:}Y~/303Z$/069ENY_inz $ FGNHIYJKFG6L9M-FG N+O+8P/QR4 E}ST++,YN;6-+:,' >++%+UVWXY Z[.  Z\]^%YMY,N-+:M}Y,~>_` ab,- c%%. ,0[d}efghFYM+N-/-':,+W,"#0AD4#iFF>j[7kl. >j\ mn1eopq->:+6,B"  ),>r--s-t)u "v  Ewj+M,uM,    Cxy@+M>,2,$,$OYrQ,$>  '4>*@@ 7z 5{ 4 O|y@+M>,2,$,$OYrQ,$>  !$'&4(>**@@ 7} 5~ 4 O"