DESCR

This is Moscow ML, a version of Standard ML:

The current version 1.43 of Moscow ML
* implements the Core language of Standard ML, as revised 1996
* implements large parts of the new SML Basis Library
* implements separate compilation and a limited version of the
Standard ML Modules language, with signatures and structures
but no functors
* can produce compact stand-alone executables (a la Caml Light)
* supports quotations and antiquotations, useful for metaprogramming
* includes several new libraries and a new type `char'

Makefile

# $NetBSD: Makefile,v 1.28 2008/04/28 10:16:57 tnn Exp $

DISTNAME= mos201src
PKGNAME= moscow_ml-2.01
CATEGORIES= lang
MASTER_SITES= http://www.itu.dk/people/sestoft/mosml/

MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.dina.kvl.dk/~sestoft/mosml.html
COMMENT= Moscow ML, a version of Standard ML

PKG_DESTDIR_SUPPORT= user-destdir

WRKSRC= ${WRKDIR}/mosml/src
USE_TOOLS+= perl

BUILD_TARGET= clean world
MAKE_JOBS_SAFE= no

post-install:
${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/examples/moscow_ml
${CP} -R ${WRKDIR}/mosml/examples/* ${DESTDIR}${PREFIX}/share/examples/moscow_ml
${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DESTDIR}${PREFIX}/share/examples/moscow_ml
${CHMOD} -R ugo+r ${DESTDIR}${PREFIX}/share/examples/moscow_ml

.include "../../mk/bsd.pkg.mk"

PLIST

@comment $NetBSD: PLIST,v 1.2 2009/06/14 18:03:36 joerg Exp $
bin/camlrunm
bin/mosml
bin/mosmlc
bin/mosmllex
bin/mosmlyac
include/moscow_ml/alloc.h
include/moscow_ml/callback.h
include/moscow_ml/config
include/moscow_ml/config.h
include/moscow_ml/debugger.h
include/moscow_ml/exec.h
include/moscow_ml/expand.h
include/moscow_ml/fail.h
include/moscow_ml/freelist.h
include/moscow_ml/gc.h
include/moscow_ml/gc_ctrl.h
include/moscow_ml/globals.h
include/moscow_ml/instruct.h
include/moscow_ml/interp.h
include/moscow_ml/intext.h
include/moscow_ml/io.h
include/moscow_ml/jumptbl.h
include/moscow_ml/m.h
include/moscow_ml/major_gc.h
include/moscow_ml/md5sum.h
include/moscow_ml/memory.h
include/moscow_ml/minor_gc.h
include/moscow_ml/misc.h
include/moscow_ml/mlvalues.h
include/moscow_ml/mosml.h
include/moscow_ml/prims.h
include/moscow_ml/reverse.h
include/moscow_ml/roots.h
include/moscow_ml/runtime.h
include/moscow_ml/s.h
include/moscow_ml/signals.h
include/moscow_ml/stacks.h
include/moscow_ml/str.h
include/moscow_ml/sys.h
include/moscow_ml/unalignd.h
include/moscow_ml/version.h
lib/moscow_ml/AppleScript.sig
lib/moscow_ml/Array.sig
lib/moscow_ml/Array.ui
lib/moscow_ml/Array.uo
lib/moscow_ml/Array2.sig
lib/moscow_ml/Array2.ui
lib/moscow_ml/Array2.uo
lib/moscow_ml/Arraysort.sig
lib/moscow_ml/Arraysort.ui
lib/moscow_ml/Arraysort.uo
lib/moscow_ml/BasicIO.sig
lib/moscow_ml/BasicIO.ui
lib/moscow_ml/BasicIO.uo
lib/moscow_ml/BinIO.sig
lib/moscow_ml/BinIO.ui
lib/moscow_ml/BinIO.uo
lib/moscow_ml/Binarymap.sig
lib/moscow_ml/Binarymap.ui
lib/moscow_ml/Binarymap.uo
lib/moscow_ml/Binaryset.sig
lib/moscow_ml/Binaryset.ui
lib/moscow_ml/Binaryset.uo
lib/moscow_ml/Bool.sig
lib/moscow_ml/Bool.ui
lib/moscow_ml/Bool.uo
lib/moscow_ml/Byte.sig
lib/moscow_ml/Byte.ui
lib/moscow_ml/Byte.uo
lib/moscow_ml/Callback.sig
lib/moscow_ml/Callback.ui
lib/moscow_ml/Callback.uo
lib/moscow_ml/Char.sig
lib/moscow_ml/Char.ui
lib/moscow_ml/Char.uo
lib/moscow_ml/CharArray.sig
lib/moscow_ml/CharArray.ui
lib/moscow_ml/CharArray.uo
lib/moscow_ml/CharVector.sig
lib/moscow_ml/CharVector.ui
lib/moscow_ml/CharVector.uo
lib/moscow_ml/CommandLine.sig
lib/moscow_ml/CommandLine.ui
lib/moscow_ml/CommandLine.uo
lib/moscow_ml/Date.sig
lib/moscow_ml/Date.ui
lib/moscow_ml/Date.uo
lib/moscow_ml/Dynarray.sig
lib/moscow_ml/Dynarray.ui
lib/moscow_ml/Dynarray.uo
lib/moscow_ml/Dynlib.sig
lib/moscow_ml/Dynlib.ui
lib/moscow_ml/Dynlib.uo
lib/moscow_ml/FileSys.sig
lib/moscow_ml/FileSys.ui
lib/moscow_ml/FileSys.uo
lib/moscow_ml/Gdbm.sig
lib/moscow_ml/Gdbm.ui
lib/moscow_ml/Gdbm.uo
lib/moscow_ml/Gdimage.sig
lib/moscow_ml/Gdimage.ui
lib/moscow_ml/Gdimage.uo
lib/moscow_ml/General.sig
lib/moscow_ml/Help.sig
lib/moscow_ml/Help.ui
lib/moscow_ml/Help.uo
lib/moscow_ml/IO.ui
lib/moscow_ml/IO.uo
lib/moscow_ml/Int.sig
lib/moscow_ml/Int.ui
lib/moscow_ml/Int.uo
lib/moscow_ml/Intmap.sig
lib/moscow_ml/Intmap.ui
lib/moscow_ml/Intmap.uo
lib/moscow_ml/Intset.sig
lib/moscow_ml/Intset.ui
lib/moscow_ml/Intset.uo
lib/moscow_ml/Lexing.sig
lib/moscow_ml/Lexing.ui
lib/moscow_ml/Lexing.uo
lib/moscow_ml/List.sig
lib/moscow_ml/List.ui
lib/moscow_ml/List.uo
lib/moscow_ml/ListPair.sig
lib/moscow_ml/ListPair.ui
lib/moscow_ml/ListPair.uo
lib/moscow_ml/Listsort.sig
lib/moscow_ml/Listsort.ui
lib/moscow_ml/Listsort.uo
lib/moscow_ml/Location.sig
lib/moscow_ml/Location.ui
lib/moscow_ml/Location.uo
lib/moscow_ml/Math.sig
lib/moscow_ml/Math.ui
lib/moscow_ml/Math.uo
lib/moscow_ml/Meta.sig
lib/moscow_ml/Misc.sig
lib/moscow_ml/Misc.ui
lib/moscow_ml/Misc.uo
lib/moscow_ml/Mosml.sig
lib/moscow_ml/Mosml.ui
lib/moscow_ml/Mosml.uo
lib/moscow_ml/Mosmlcgi.sig
lib/moscow_ml/Mosmlcgi.ui
lib/moscow_ml/Mosmlcgi.uo
lib/moscow_ml/Mosmlcookie.sig
lib/moscow_ml/Mosmlcookie.ui
lib/moscow_ml/Mosmlcookie.uo
lib/moscow_ml/Msp.sig
lib/moscow_ml/Msp.ui
lib/moscow_ml/Msp.uo
lib/moscow_ml/Mysql.sig
lib/moscow_ml/Mysql.ui
lib/moscow_ml/Mysql.uo
lib/moscow_ml/NJ93.sig
lib/moscow_ml/NJ93.ui
lib/moscow_ml/NJ93.uo
lib/moscow_ml/Nonstdio.sig
lib/moscow_ml/Nonstdio.ui
lib/moscow_ml/Nonstdio.uo
lib/moscow_ml/OS.sig
lib/moscow_ml/OS.ui
lib/moscow_ml/OS.uo
lib/moscow_ml/Obj.ui
lib/moscow_ml/Obj.uo
lib/moscow_ml/Option.sig
lib/moscow_ml/Option.ui
lib/moscow_ml/Option.uo
lib/moscow_ml/PP.sig
lib/moscow_ml/PP.ui
lib/moscow_ml/PP.uo
lib/moscow_ml/Parsing.sig
lib/moscow_ml/Parsing.ui
lib/moscow_ml/Parsing.uo
lib/moscow_ml/Path.sig
lib/moscow_ml/Path.ui
lib/moscow_ml/Path.uo
lib/moscow_ml/Polygdbm.sig
lib/moscow_ml/Polygdbm.ui
lib/moscow_ml/Polygdbm.uo
lib/moscow_ml/Polyhash.sig
lib/moscow_ml/Polyhash.ui
lib/moscow_ml/Polyhash.uo
lib/moscow_ml/Postgres.sig
lib/moscow_ml/Postgres.ui
lib/moscow_ml/Postgres.uo
lib/moscow_ml/Process.sig
lib/moscow_ml/Process.ui
lib/moscow_ml/Process.uo
lib/moscow_ml/README
lib/moscow_ml/Random.sig
lib/moscow_ml/Random.ui
lib/moscow_ml/Random.uo
lib/moscow_ml/Real.sig
lib/moscow_ml/Real.ui
lib/moscow_ml/Real.uo
lib/moscow_ml/Regex.sig
lib/moscow_ml/Regex.ui
lib/moscow_ml/Regex.uo
lib/moscow_ml/SML90.sig
lib/moscow_ml/SML90.ui
lib/moscow_ml/SML90.uo
lib/moscow_ml/Signal.sig
lib/moscow_ml/Signal.ui
lib/moscow_ml/Signal.uo
lib/moscow_ml/Socket.sig
lib/moscow_ml/Socket.ui
lib/moscow_ml/Socket.uo
lib/moscow_ml/Splaymap.sig
lib/moscow_ml/Splaymap.ui
lib/moscow_ml/Splaymap.uo
lib/moscow_ml/Splayset.sig
lib/moscow_ml/Splayset.ui
lib/moscow_ml/Splayset.uo
lib/moscow_ml/Splaytree.sig
lib/moscow_ml/Splaytree.ui
lib/moscow_ml/Splaytree.uo
lib/moscow_ml/Strbase.sig
lib/moscow_ml/Strbase.ui
lib/moscow_ml/Strbase.uo
lib/moscow_ml/String.sig
lib/moscow_ml/String.ui
lib/moscow_ml/String.uo
lib/moscow_ml/StringCvt.sig
lib/moscow_ml/StringCvt.ui
lib/moscow_ml/StringCvt.uo
lib/moscow_ml/Substring.sig
lib/moscow_ml/Substring.ui
lib/moscow_ml/Substring.uo
lib/moscow_ml/Susp.sig
lib/moscow_ml/Susp.ui
lib/moscow_ml/Susp.uo
lib/moscow_ml/TextIO.sig
lib/moscow_ml/TextIO.ui
lib/moscow_ml/TextIO.uo
lib/moscow_ml/Time.sig
lib/moscow_ml/Time.ui
lib/moscow_ml/Time.uo
lib/moscow_ml/Timer.sig
lib/moscow_ml/Timer.ui
lib/moscow_ml/Timer.uo
lib/moscow_ml/Unix.sig
lib/moscow_ml/Unix.ui
lib/moscow_ml/Unix.uo
lib/moscow_ml/Vector.sig
lib/moscow_ml/Vector.ui
lib/moscow_ml/Vector.uo
lib/moscow_ml/Weak.sig
lib/moscow_ml/Weak.ui
lib/moscow_ml/Weak.uo
lib/moscow_ml/Word.sig
lib/moscow_ml/Word.ui
lib/moscow_ml/Word.uo
lib/moscow_ml/Word8.sig
lib/moscow_ml/Word8.ui
lib/moscow_ml/Word8.uo
lib/moscow_ml/Word8Array.sig
lib/moscow_ml/Word8Array.ui
lib/moscow_ml/Word8Array.uo
lib/moscow_ml/Word8Vector.sig
lib/moscow_ml/Word8Vector.ui
lib/moscow_ml/Word8Vector.uo
lib/moscow_ml/camlrunm
lib/moscow_ml/header
lib/moscow_ml/helpsigs.val
lib/moscow_ml/mosmlcmp
lib/moscow_ml/mosmllex
lib/moscow_ml/mosmllnk
lib/moscow_ml/mosmltop
libexec/moscow_ml/cutdeps
libexec/moscow_ml/mosmldep
share/doc/moscow_ml/manual.pdf
share/doc/moscow_ml/mosmllib.pdf
share/doc/moscow_ml/mosmllib/AppleScript.html
share/doc/moscow_ml/mosmllib/Array.html
share/doc/moscow_ml/mosmllib/Array2.html
share/doc/moscow_ml/mosmllib/Arraysort.html
share/doc/moscow_ml/mosmllib/BasicIO.html
share/doc/moscow_ml/mosmllib/BinIO.html
share/doc/moscow_ml/mosmllib/Binarymap.html
share/doc/moscow_ml/mosmllib/Binaryset.html
share/doc/moscow_ml/mosmllib/Bool.html
share/doc/moscow_ml/mosmllib/Byte.html
share/doc/moscow_ml/mosmllib/Callback.html
share/doc/moscow_ml/mosmllib/Char.html
share/doc/moscow_ml/mosmllib/CharArray.html
share/doc/moscow_ml/mosmllib/CharVector.html
share/doc/moscow_ml/mosmllib/CommandLine.html
share/doc/moscow_ml/mosmllib/Date.html
share/doc/moscow_ml/mosmllib/Dynarray.html
share/doc/moscow_ml/mosmllib/Dynlib.html
share/doc/moscow_ml/mosmllib/FileSys.html
share/doc/moscow_ml/mosmllib/Gdbm.html
share/doc/moscow_ml/mosmllib/Gdimage.html
share/doc/moscow_ml/mosmllib/General.html
share/doc/moscow_ml/mosmllib/Help.html
share/doc/moscow_ml/mosmllib/Int.html
share/doc/moscow_ml/mosmllib/Intmap.html
share/doc/moscow_ml/mosmllib/Intset.html
share/doc/moscow_ml/mosmllib/Lexing.html
share/doc/moscow_ml/mosmllib/List.html
share/doc/moscow_ml/mosmllib/ListPair.html
share/doc/moscow_ml/mosmllib/Listsort.html
share/doc/moscow_ml/mosmllib/Location.html
share/doc/moscow_ml/mosmllib/Math.html
share/doc/moscow_ml/mosmllib/Meta.html
share/doc/moscow_ml/mosmllib/Mosml.html
share/doc/moscow_ml/mosmllib/Mosmlcgi.html
share/doc/moscow_ml/mosmllib/Mosmlcookie.html
share/doc/moscow_ml/mosmllib/Msp.html
share/doc/moscow_ml/mosmllib/Mysql.html
share/doc/moscow_ml/mosmllib/NJ93.html
share/doc/moscow_ml/mosmllib/Nonstdio.html
share/doc/moscow_ml/mosmllib/OS.html
share/doc/moscow_ml/mosmllib/Option.html
share/doc/moscow_ml/mosmllib/PP.html
share/doc/moscow_ml/mosmllib/Parsing.html
share/doc/moscow_ml/mosmllib/Path.html
share/doc/moscow_ml/mosmllib/Polygdbm.html
share/doc/moscow_ml/mosmllib/Polyhash.html
share/doc/moscow_ml/mosmllib/Postgres.html
share/doc/moscow_ml/mosmllib/Process.html
share/doc/moscow_ml/mosmllib/Random.html
share/doc/moscow_ml/mosmllib/Real.html
share/doc/moscow_ml/mosmllib/Regex.html
share/doc/moscow_ml/mosmllib/SML90.html
share/doc/moscow_ml/mosmllib/Signal.html
share/doc/moscow_ml/mosmllib/Socket.html
share/doc/moscow_ml/mosmllib/Splaymap.html
share/doc/moscow_ml/mosmllib/Splayset.html
share/doc/moscow_ml/mosmllib/String.html
share/doc/moscow_ml/mosmllib/StringCvt.html
share/doc/moscow_ml/mosmllib/Substring.html
share/doc/moscow_ml/mosmllib/Susp.html
share/doc/moscow_ml/mosmllib/TextIO.html
share/doc/moscow_ml/mosmllib/Time.html
share/doc/moscow_ml/mosmllib/Timer.html
share/doc/moscow_ml/mosmllib/Unix.html
share/doc/moscow_ml/mosmllib/Vector.html
share/doc/moscow_ml/mosmllib/Weak.html
share/doc/moscow_ml/mosmllib/Word.html
share/doc/moscow_ml/mosmllib/Word8.html
share/doc/moscow_ml/mosmllib/Word8Array.html
share/doc/moscow_ml/mosmllib/Word8Vector.html
share/doc/moscow_ml/mosmllib/idIndex.html
share/doc/moscow_ml/mosmllib/index.html
share/doc/moscow_ml/mosmllib2up.pdf
share/doc/moscow_ml/mosmlref.pdf
share/examples/moscow_ml/Makefile
share/examples/moscow_ml/Makefile.w32
share/examples/moscow_ml/README
share/examples/moscow_ml/Readme.w32
share/examples/moscow_ml/calc/Lexer.lex
share/examples/moscow_ml/calc/Makefile
share/examples/moscow_ml/calc/Makefile.w32
share/examples/moscow_ml/calc/Parser.grm
share/examples/moscow_ml/calc/calc.sml
share/examples/moscow_ml/cgi/Makefile
share/examples/moscow_ml/cgi/Makefile.w32
share/examples/moscow_ml/cgi/README
share/examples/moscow_ml/cgi/README1
share/examples/moscow_ml/cgi/README2
share/examples/moscow_ml/cgi/cgiex1.sml
share/examples/moscow_ml/cgi/cgiex2.sml
share/examples/moscow_ml/cgi/cgitest.sml
share/examples/moscow_ml/cgi/htmlform.html
share/examples/moscow_ml/cgi/upload.html
share/examples/moscow_ml/lexyacc/Data.sml
share/examples/moscow_ml/lexyacc/Lexer.lex
share/examples/moscow_ml/lexyacc/Main.sml
share/examples/moscow_ml/lexyacc/Makefile
share/examples/moscow_ml/lexyacc/Makefile.w32
share/examples/moscow_ml/lexyacc/Parser.grm
share/examples/moscow_ml/lexyacc/README
share/examples/moscow_ml/lexyacc/cl/append.cl
share/examples/moscow_ml/lexyacc/cl/edigits.cl
share/examples/moscow_ml/lexyacc/cl/error1.cl
share/examples/moscow_ml/lexyacc/cl/error2.cl
share/examples/moscow_ml/lexyacc/cl/error3.cl
share/examples/moscow_ml/lexyacc/cl/fib.cl
share/examples/moscow_ml/lexyacc/cl/fibs.cl
share/examples/moscow_ml/lexyacc/cl/hamming.cl
share/examples/moscow_ml/lexyacc/cl/lists.cl
share/examples/moscow_ml/lexyacc/cl/nats.cl
share/examples/moscow_ml/lexyacc/cl/sieve.cl
share/examples/moscow_ml/lexyacc/cl/takefrom.cl
share/examples/moscow_ml/lexyacc/load
share/examples/moscow_ml/manual/Evaluate.sig
share/examples/moscow_ml/manual/Evaluate.sml
share/examples/moscow_ml/manual/Expr.sml
share/examples/moscow_ml/manual/Makefile
share/examples/moscow_ml/manual/Makefile.w32
share/examples/moscow_ml/manual/Reduce.sig
share/examples/moscow_ml/manual/Reduce.sml
share/examples/moscow_ml/manual/load
share/examples/moscow_ml/mls/Makefile
share/examples/moscow_ml/mls/Makefile.w32
share/examples/moscow_ml/mls/mls.sml
share/examples/moscow_ml/modules/README
share/examples/moscow_ml/modules/array.sml
share/examples/moscow_ml/modules/bootstrap.sml
share/examples/moscow_ml/modules/choice.sml
share/examples/moscow_ml/modules/collect.sml
share/examples/moscow_ml/modules/matrix.sml
share/examples/moscow_ml/modules/poly.sml
share/examples/moscow_ml/modules/recursion.sml
share/examples/moscow_ml/modules/sieve.sml
share/examples/moscow_ml/parsercomb/Makefile
share/examples/moscow_ml/parsercomb/Parsercomb.sig
share/examples/moscow_ml/parsercomb/Parsercomb.sml
share/examples/moscow_ml/parsercomb/README
share/examples/moscow_ml/paulson/README
share/examples/moscow_ml/paulson/sample.sml
share/examples/moscow_ml/paulson/sample10.sml
share/examples/moscow_ml/paulson/sample2.sml
share/examples/moscow_ml/paulson/sample3.sml
share/examples/moscow_ml/paulson/sample4.sml
share/examples/moscow_ml/paulson/sample5.sml
share/examples/moscow_ml/paulson/sample7.sml
share/examples/moscow_ml/paulson/sample8.sml
share/examples/moscow_ml/paulson/sample9.sml
share/examples/moscow_ml/paulson/test10.sml
share/examples/moscow_ml/pretty/Makefile
share/examples/moscow_ml/pretty/Makefile.w32
share/examples/moscow_ml/pretty/ppexpr.sml
share/examples/moscow_ml/pretty/pproman.sml
share/examples/moscow_ml/small/README
share/examples/moscow_ml/small/countperms.sml
share/examples/moscow_ml/small/countqueens.sml
share/examples/moscow_ml/small/perms.sml
share/examples/moscow_ml/small/queens.sml
share/examples/moscow_ml/small/roman.sml
share/examples/moscow_ml/small/subsets.sml
share/examples/moscow_ml/small/subsum.sml
share/examples/moscow_ml/units/Evaluate.sig
share/examples/moscow_ml/units/Evaluate.sm
share/examples/moscow_ml/units/Evaluate.sml
share/examples/moscow_ml/units/Expr.sml
share/examples/moscow_ml/units/Makefile
share/examples/moscow_ml/units/Makefile.w32
share/examples/moscow_ml/units/Reduce.sig
share/examples/moscow_ml/units/Reduce.sml
share/examples/moscow_ml/units/Test.sml
share/examples/moscow_ml/units/load
share/examples/moscow_ml/weak/Makefile
share/examples/moscow_ml/weak/Makefile.w32
share/examples/moscow_ml/weak/README
share/examples/moscow_ml/weak/hashcons.sml
share/examples/moscow_ml/webserver/Makefile
share/examples/moscow_ml/webserver/README
share/examples/moscow_ml/webserver/echoserver.sml
share/examples/moscow_ml/webserver/minimalserver.sml
share/examples/moscow_ml/webserver/mosmlserver.sml
share/examples/moscow_ml/webserver/useit.sml

distinfo

$NetBSD: distinfo,v 1.5 2008/04/28 10:16:57 tnn Exp $

SHA1 (mos201src.tar.gz) = eba58486b10f0359fafba488fa1bf366b2aabf8a
RMD160 (mos201src.tar.gz) = b2a9582d8c0bfdad2b8a74740e54ab33d3856637
Size (mos201src.tar.gz) = 2314392 bytes
SHA1 (patch-aa) = ffe745a14f8b41d2c1c278fbd6f7057a856a1e47
SHA1 (patch-ab) = f4f4d6307a145041e60322c91f1b5359c744cc93
SHA1 (patch-ac) = 76d59a2370334a6e87a01d29f75b4700463d60f8
SHA1 (patch-ad) = d76f87ed98eb836e926d0781824531694b287ad7
SHA1 (patch-ae) = 2e2875d9997233e6696833f92d7ae77c4930499d
SHA1 (patch-ba) = 2e6d61ef16ed7bc064d828fd22fc5c96e12cf357
SHA1 (patch-bb) = 7ec9c19d43a0d758ecc2655b7da131e58dbe9739
SHA1 (patch-bc) = 99953744072bb2ad603469b411b4bd5f33a935f7
SHA1 (patch-bd) = 3e73d03cec930463c0d3d1a2c3e874b0c8c8a459
SHA1 (patch-be) = 4742e5391e5ac9d7c5339c69b6d47d237659feed
SHA1 (patch-bf) = 3bafc00ea7b2fd8c7992f0dc36cb4467e6815de6
SHA1 (patch-bg) = 6ca89fb870ef066a2929b9cd7e38257c9380cd11
SHA1 (patch-bh) = e9a12cf9804e46379c9e97c567eef974a2f7ca62