diff --git a/docker/rootfs/etc/apache2/conf-available/doc_root_ssl.conf b/docker/rootfs/etc/apache2/conf-available/doc_root_ssl.conf
index 6c8a5721a9..95a7d5211b 100644
--- a/docker/rootfs/etc/apache2/conf-available/doc_root_ssl.conf
+++ b/docker/rootfs/etc/apache2/conf-available/doc_root_ssl.conf
@@ -20,8 +20,8 @@ SSLProxyVerify None
SSLProxyCheckPeerCN On
SSLProxyCheckPeerName On
-SSLCertificateFile /etc/letsencrypt/live/logicmoo.org/fullchain.pem
-SSLCertificateKeyFile /etc/letsencrypt/live/logicmoo.org/privkey.pem
+SSLCertificateFile /etc/letsencrypt/live/logicmoo.org-0006/fullchain.pem
+SSLCertificateKeyFile /etc/letsencrypt/live/logicmoo.org-0006/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
Include /etc/apache2/conf-available/doc_root.conf
diff --git a/docker/rootfs/etc/apache2/sites-enabled/000-logicmoo.conf b/docker/rootfs/etc/apache2/sites-enabled/000-logicmoo.conf
index 700b3a293c..347197dbb0 100644
--- a/docker/rootfs/etc/apache2/sites-enabled/000-logicmoo.conf
+++ b/docker/rootfs/etc/apache2/sites-enabled/000-logicmoo.conf
@@ -291,5 +291,7 @@ Use NamedVS mud 5001
Use Butterfly 7771
Use ButterThru 1766
+Use ButterThru 3020
Use ButterThru 1666
+Use ButterThru 8501
diff --git a/docker/rootfs/usr/local/bin/websocket_redir.sh b/docker/rootfs/usr/local/bin/websocket_redir.sh
index 4d470a6c39..796915970d 100755
--- a/docker/rootfs/usr/local/bin/websocket_redir.sh
+++ b/docker/rootfs/usr/local/bin/websocket_redir.sh
@@ -1,3 +1,4 @@
+
#!/bin/bash
# BUTTERFLY_HOME=$LOGICMOO_WS/packs_web/butterfly
diff --git a/docker/rootfs/usr/local/lib/swipl/library/check.pl b/docker/rootfs/usr/local/lib/swipl/library/check.pl
index 3373ae1b45..86315b2063 100644
--- a/docker/rootfs/usr/local/lib/swipl/library/check.pl
+++ b/docker/rootfs/usr/local/lib/swipl/library/check.pl
@@ -51,6 +51,7 @@
list_strings/1, % +Options
list_rationals/0, % list rational objects in clauses
list_rationals/1 % +Options
+ %found_undef/3
]).
:- autoload(library(apply),[maplist/2]).
:- autoload(library(lists),[member/2,append/3]).
diff --git a/docker/rootfs/usr/local/lib/swipl/library/edit.pl b/docker/rootfs/usr/local/lib/swipl/library/edit.pl
index 3f21b93665..a9da906ec0 100644
--- a/docker/rootfs/usr/local/lib/swipl/library/edit.pl
+++ b/docker/rootfs/usr/local/lib/swipl/library/edit.pl
@@ -617,3 +617,4 @@
load_extensions.
:- load_extensions.
+
diff --git a/docker/rootfs/usr/local/lib/swipl/library/yall.pl b/docker/rootfs/usr/local/lib/swipl/library/yall.pl
index b320906935..249bfe0a58 100644
--- a/docker/rootfs/usr/local/lib/swipl/library/yall.pl
+++ b/docker/rootfs/usr/local/lib/swipl/library/yall.pl
@@ -354,7 +354,9 @@
lambda_free({_}) :- !.
lambda_free({}) :- !.
lambda_free(Free) :-
+ trace,
type_error(lambda_free, Free).
+%lambda_free(_):- trace.
%! expand_lambda(+Goal, -Head) is semidet.
%
diff --git a/logicmoo_workspace.vpj b/logicmoo_workspace.vpj
index 8dd819c55b..50bf9f3fce 100644
--- a/logicmoo_workspace.vpj
+++ b/logicmoo_workspace.vpj
@@ -9233,6 +9233,1156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -9246,46 +10396,1628 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
@@ -9302,15 +12034,17 @@
-
+
+
+
@@ -9319,20 +12053,28 @@
+
+
+
+
+
+
+
+
@@ -9341,6 +12083,7 @@
+
@@ -105388,816 +108131,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -106225,15 +108158,9 @@
-
-
-
-
-
-
diff --git a/packs_sys/dictoo/prolog/dictoo_lib.pl b/packs_sys/dictoo/prolog/dictoo_lib.pl
index 89ff6fc9f3..5b0a1c3d4f 100755
--- a/packs_sys/dictoo/prolog/dictoo_lib.pl
+++ b/packs_sys/dictoo/prolog/dictoo_lib.pl
@@ -5,6 +5,7 @@
is_oo/2,
% '$was_dictoo'/2,
is_oo_invokable/2,
+ is_oo_hooked/4,
oo_call/4,
oo_call_dot_hook/4,
oo_jpl_call/3,
@@ -166,6 +167,7 @@
oo_set(UDT,Key,Value):- fail_on_missing(jpl_is_ref(UDT)),fail_on_missing(jpl_set(UDT,Key,Value)).
%oo_set(UDT,Key,Value):- trace_or_throw(oo_set(UDT,Key,Value)).
+nb_rb_insert(UDT,Key,Value,NewUDT):- nb_rb_insert(UDT,Key,Value),NewUDT=UDT. % not actually new
oo_nb_set_varholder('$VAR',Name,[],UDT,Key,Value):- atom(Name),!,nb_setarg(1,UDT,att(vn, Name, att(Key,Value, []))).
oo_nb_set_varholder('$VAR',Att3,[],UDT,Key,Value):- nb_setarg(1,UDT,att(Key,Value,Att3)).
diff --git a/packs_sys/dictoo/prolog/gvar_fixup_exports.pl b/packs_sys/dictoo/prolog/gvar_fixup_exports.pl
new file mode 100644
index 0000000000..ba520a4432
--- /dev/null
+++ b/packs_sys/dictoo/prolog/gvar_fixup_exports.pl
@@ -0,0 +1,61 @@
+
+
+% :- include(gvar_fixup_exports).
+
+:- if( \+ current_prolog_flag(xref,true)).
+
+:- if( \+ current_predicate(f:gvar_file_predicates_are_exported/2)).
+
+lmconfig:never_export_named_gvar(attr_unify_hook/2).
+lmconfig:never_export_named_gvar(attribute_goals/3).
+lmconfig:never_export_named_gvar(project_attributes/2).
+lmconfig:never_export_named_gvar(attr_portray_hook/2).
+
+
+:- module_transparent(f:gvar_file_predicates_are_exported/2).
+:- export(f:gvar_file_predicates_are_exported/2).
+f:gvar_file_predicates_are_exported(S,LC):-
+ forall(source_file(M:H,S),
+ ignore((functor(H,F,A), \+ atom_concat('$',_,F), \+ lmconfig:never_export_named_gvar(F/_),
+ ignore(((atom(LC),atom(M), LC\==M,M:export(M:F/A),LC:multifile(M:F/A),fail,atom_concat('$',_,F),LC:import(M:F/A)))),
+ ignore(((\+ atom_concat('$',_,F),\+ atom_concat('__aux',_,F),LC:export(M:F/A),
+ ignore(((current_predicate(system:F/A)->true; system:import(M:F/A)))))))))).
+
+%% f:gvar_file_predicates_are_transparent() is det.
+%
+% All Module Predicates Are Transparent.
+:- module_transparent(f:gvar_file_predicates_are_transparent/0).
+f:gvar_file_predicates_are_transparent:-
+ source_location(S,_), prolog_load_context(module,LC),
+ f:gvar_file_predicates_are_transparent(S,LC).
+
+:- module_transparent(f:gvar_file_predicates_are_transparent/2).
+f:gvar_file_predicates_are_transparent(S,LC):-
+ forall(source_file(M:H,S),
+ (functor(H,F,A),
+ ignore(((\+ predicate_property(M:H,transparent), ignore( LC = M),
+ module_transparent(M:F/A),
+ \+ atom_concat('__aux',_,F),
+ nop(debug(modules,'~N:- module_transparent((~q)/~q).~n',[F,A]))))))).
+
+
+%% f:gvar_file_predicates_are_exported() is det.
+%
+% All Module Predicates Are Exported.
+
+:- module_transparent(f:gvar_file_predicates_are_exported/0).
+
+f:gvar_file_predicates_are_exported:- current_prolog_flag(xref,true),!.
+f:gvar_file_predicates_are_exported:-
+ source_location(S,_), prolog_load_context(module,LC),
+ % writeln(f:gvar_file_predicates_are_exported(S,LC)),
+ f:gvar_file_predicates_are_exported(S,LC).
+
+:- endif.
+
+:-
+ f:gvar_file_predicates_are_exported,
+ f:gvar_file_predicates_are_transparent.
+
+:- endif.
+
diff --git a/packs_sys/logicmoo_agi/arc_web.sh b/packs_sys/logicmoo_agi/arc_web.sh
index ee3ce9c3ce..b6ccf4f373 100644
--- a/packs_sys/logicmoo_agi/arc_web.sh
+++ b/packs_sys/logicmoo_agi/arc_web.sh
@@ -29,7 +29,7 @@ do
#pip install butterfly --force-reinstall
cd $LM_ARC_BASE
- export BFLYCMD="$LM_ARC_BASE/prolog/kaggle_arc/Kaggle_arc.sh -g user:bfly_startup ${@} -- LM_ARC_BASE=$LM_ARC_BASE"
+ export BFLYCMD="$LM_ARC_BASE/prolog/kaggle_arc/Kaggle_arc.sh ${@} -- --bfly --no-xpce --www --no-swish LM_ARC_BASE=$LM_ARC_BASE"
butterfly.server.py --port=7771 --host='0.0.0.0' --unsecure --i-hereby-declare-i-dont-want-any-security-whatsoever --cmd="${BFLYCMD}" --force-unicode-width || stty sane
done
stty sane
diff --git a/packs_sys/logicmoo_agi/prolog/kaggle_arc/Kaggle_arc.sh b/packs_sys/logicmoo_agi/prolog/kaggle_arc/Kaggle_arc.sh
index 501ea216b2..7568f18782 100644
--- a/packs_sys/logicmoo_agi/prolog/kaggle_arc/Kaggle_arc.sh
+++ b/packs_sys/logicmoo_agi/prolog/kaggle_arc/Kaggle_arc.sh
@@ -9,6 +9,8 @@ mkdir -p muarc_tmp ; chmod -R 777 muarc_tmp
mkdir -p muarc_cache ; chmod -R 777 muarc_cache
mkdir -p muarc_output ; chmod -R 777 muarc_output
+
+
if [ "${1}" == "--tee" ] ; then
shift 1
[ -z "$TEE_FILE" ] && export TEE_FILE="muarc_tmp/tee.ansi"
@@ -16,7 +18,6 @@ shift 1
echo start $0 $@
fi
-
chmod 777 tee.ansi
@@ -46,12 +47,24 @@ chmod -R 555 data/
chmod -R 777 muarc_tmp/
+export SWIPL_OPTIONS="${@}"
+if [[ $SWIPL_OPTIONS == *" -- "* ]];
+then
+ echo "$SWIPL_OPTIONS"
+else
+ SWIPL_OPTIONS="-- ${SWIPL_OPTIONS}"
+fi
+
+killall -9 xterm
-export BCMD="cd '${ARC_DIR}' ; pwd ; export TEE_FILE='${TEE_FILE}' ; swipl -l kaggle_arc.pl ${@}"
+export BCMD="cd '${ARC_DIR}' ; pwd ; export TEE_FILE='${TEE_FILE}' ; swipl -l kaggle_arc.pl ${SWIPL_OPTIONS}"
echo BCMD=$BCMD
sleep 2
+# % 642,202,528 inferences, 104.676 CPU in 104.682 seconds (100% CPU, 6135124 Lips)
+swipl -g "time(load_files([muarc_cache/arc_db_temp_cache],[qcompile(auto)])),halt."
+
if id -u "norights" >/dev/null 2>&1; then
sudo -u norights bash -l -c "git config --global --add safe.directory /opt/logicmoo_workspace/packs_sys/logicmoo_utils" || stty sane
sudo -u norights bash -l -c "${BCMD}" || stty sane
diff --git a/packs_sys/logicmoo_agi/prolog/kaggle_arc/arc_module.pl b/packs_sys/logicmoo_agi/prolog/kaggle_arc/arc_module.pl
index fb0c183a74..4cce905948 100644
--- a/packs_sys/logicmoo_agi/prolog/kaggle_arc/arc_module.pl
+++ b/packs_sys/logicmoo_agi/prolog/kaggle_arc/arc_module.pl
@@ -20,7 +20,7 @@
:- module_transparent(do_forgotten_exports/0).
do_forgotten_exports:-
strip_module(_,M,_),
- wdmsg(do_forgotten_exports(M)),
+ u_dmsg(do_forgotten_exports(M)),
do_forgotten_exports(M).
%:- use_module(library(pfc_lib)).
diff --git a/packs_sys/logicmoo_agi/prolog/kaggle_arc/arc_testing_interface.html b/packs_sys/logicmoo_agi/prolog/kaggle_arc/arc_testing_interface.html
index 5f03c01e8c..5e51c4c72d 100644
--- a/packs_sys/logicmoo_agi/prolog/kaggle_arc/arc_testing_interface.html
+++ b/packs_sys/logicmoo_agi/prolog/kaggle_arc/arc_testing_interface.html
@@ -1,1043 +1,1064 @@
-
-
- ARC testing using LOGICMOO.ORGs backend server
-
-
-
-
-
+
+
+
+
-
+
+
-
-
+
-
-
-
-
-
-
-
Welcome to the ARC testing interface.
Choose a task file to start, or click on "Random task" to load one from the ARC project on github.
-
-
-
-
-
-
-
+ document.addEventListener('DOMContentLoaded', (e) => {
+ const input_box = document.getElementById("input-message")
+ const input_button = document.getElementById("message-submit")
+ const connection = openWebSocket()
+ input_button.addEventListener("click", (event) => {
+ const payload = {
+ message: input_box.value
+ }
+ sendMessage(connection, JSON.stringify(payload))
+ })
+ log("OnLoad", "Add event listeners")
+ })
-
+ window.tdiff = [];
+ fred = function(a, b) {
+ return a - b;
+ };
+ window.document.onload = function(e) {
+ console.log("document.onload", e, Date.now(), window.tdiff,
+ (window.tdiff[0] = Date.now()) && window.tdiff.reduce(fred));
+ randomTask();
+ }
+ window.onload = function(e) {
+ console.log("window.onload", e, Date.now(), window.tdiff,
+ (window.tdiff[1] = Date.now()) && window.tdiff.reduce(fred));
+ randomTask();
-