diff --git a/GRAALVM.md b/GRAALVM.md new file mode 100644 index 0000000..cae22d9 --- /dev/null +++ b/GRAALVM.md @@ -0,0 +1,49 @@ +GraalVM Support +=== + +This is an experimental support branch for GraalVM. + +Running +--- +This is easy. + +If we are using the recent GraalVM 23, we only need to bump Scala 2.13 and SBT to the latest version. +Ocelot Desktop seem to work out of the box. + +Native Image +--- +This is tricky. + +Ocelot relies on a lot of reflection. So we need to work around it. + +### 1. Replace Log4J +It is simply not compatible with native images ([logback seems to work](https://github.com/spring-projects/spring-boot/issues/33470)). + +### 2. Run the Trace Agent +Add the following VM option: +```shell +-agentlib:native-image-agent=config-output-dir=/ocelot-desktop-folder/src/main/resources/META-INF/native-image/ +``` +The `/src/main/resources/META-INF/native-image/` folder is important here - +this is where GraalVM will be looking for a file named `reachability-metadata.json`. + +The agent will try to detect all the reflective references happening at runtime. +It may not catch everything from the first try, because the code has to be executed to be detected. + +There are options to merge scan results and to dump them at some intervals, etc. + +### 3. Build a fat JAR +```sbt +sbt assembly +``` + +### 4. Run Native Image compiler +For example: +```shell +C:\Users\xxx\.jdks\graalvm-ce-23.0.0\bin\native-image -jar C:\Users\xxx\IdeaProjects\ocelot-desktop\target\scala-2.13\ocelot-desktop.jar +``` +We are simply giving it the path to the fat JAR from the previous step. + +This command will generate a bunch of `*.dll` and the `ocelot-desktop.exe` file in the current directory. + +### 5. Hope for the best \ No newline at end of file diff --git a/src/main/resources/META-INF/native-image/reachability-metadata.json b/src/main/resources/META-INF/native-image/reachability-metadata.json new file mode 100644 index 0000000..c175aba --- /dev/null +++ b/src/main/resources/META-INF/native-image/reachability-metadata.json @@ -0,0 +1,6634 @@ +{ + "reflection": [ + { + "type": ".java" + }, + { + "type": ".jdk" + }, + { + "type": ".org" + }, + { + "type": ".package" + }, + { + "type": ".scala" + }, + { + "type": ".sun" + }, + { + "type": "[I" + }, + { + "type": "[Ljava.lang.Double;" + }, + { + "type": "[Ljava.lang.Integer;" + }, + { + "type": "[Ljava.lang.Object;" + }, + { + "type": "[Ljava.lang.String;" + }, + { + "type": "[Ljava.lang.reflect.Field;" + }, + { + "type": "[Ljava.lang.reflect.Method;" + }, + { + "type": "[Locelot.desktop.geometry.Rect2D;" + }, + { + "type": "[Locelot.desktop.geometry.Vector2D;" + }, + { + "type": "[Locelot.desktop.graphics.mesh.Mesh3D;" + }, + { + "type": "[Locelot.desktop.graphics.mesh.MeshVertex2D;" + }, + { + "type": "[Locelot.desktop.node.Node;" + }, + { + "type": "[Locelot.desktop.node.NodePort;" + }, + { + "type": "[Locelot.desktop.ui.widget.slot.CardSlotWidget;" + }, + { + "type": "[Locelot.desktop.ui.widget.slot.ComponentBusSlotWidget;" + }, + { + "type": "[Locelot.desktop.ui.widget.slot.FloppySlotWidget;" + }, + { + "type": "[Locelot.desktop.ui.widget.slot.HddSlotWidget;" + }, + { + "type": "[Locelot.desktop.ui.widget.slot.MemorySlotWidget;" + }, + { + "type": "[Locelot.desktop.ui.widget.slot.SlotWidget;" + }, + { + "type": "[Lscala.Option;" + }, + { + "type": "[Lscala.Tuple2;" + }, + { + "type": "[Lscala.Tuple3;" + }, + { + "type": "[Lscala.reflect.internal.Symbols$Symbol;" + }, + { + "type": "[Lscala.reflect.internal.Types$Type;" + }, + { + "type": "[Lscala.reflect.runtime.JavaMirrors$JavaMirror$JavaAnnotationProxy;" + }, + { + "type": "[Ltotoro.ocelot.brain.entity.sound_card.AudioChannel;" + }, + { + "type": "[Ltotoro.ocelot.brain.nbt.NBTTagCompound;" + }, + { + "type": "[Ltotoro.ocelot.brain.nbt.NBTTagIntArray;" + }, + { + "type": "[Ltotoro.ocelot.brain.network.Network$Vertex;" + }, + { + "type": "[Ltotoro.ocelot.brain.network.Node;" + }, + { + "type": "[Ltotoro.ocelot.brain.util.InternetFilteringRule;" + }, + { + "type": "[S" + }, + { + "type": "[[I" + }, + { + "type": "[[Locelot.desktop.geometry.Vector2D;" + }, + { + "type": "[[Lscala.Option;" + }, + { + "type": "[[Ltotoro.ocelot.brain.network.Node;" + }, + { + "type": "[[S" + }, + { + "type": "ch.qos.logback.classic.BasicConfigurator", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ch.qos.logback.classic.joran.SerializedModelConfigurator", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ch.qos.logback.classic.pattern.DateConverter", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ch.qos.logback.classic.pattern.LevelConverter", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ch.qos.logback.classic.pattern.LineSeparatorConverter", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ch.qos.logback.classic.pattern.LoggerConverter", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ch.qos.logback.classic.pattern.MessageConverter", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ch.qos.logback.classic.pattern.ThreadConverter", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ch.qos.logback.classic.spi.LogbackServiceProvider" + }, + { + "type": "ch.qos.logback.classic.util.DefaultJoranConfigurator", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.intellij.rt.execution.application.AppMainV2$Agent", + "methods": [ + { + "name": "premain", + "parameterTypes": [ + "java.lang.String", + "java.lang.instrument.Instrumentation" + ] + } + ] + }, + { + "type": "com.sun.crypto.provider.AESCipher$General", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.crypto.provider.ARCFOURCipher", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.crypto.provider.ChaCha20Cipher$ChaCha20Poly1305", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.crypto.provider.DESCipher", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.crypto.provider.DESedeCipher", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.crypto.provider.DHParameters", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.crypto.provider.GaloisCounterMode$AESGCM", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.crypto.provider.HmacCore$HmacSHA384", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.crypto.provider.TlsMasterSecretGenerator", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.java.swing.plaf.windows.WindowsLabelUI", + "methods": [ + { + "name": "createUI", + "parameterTypes": [ + "javax.swing.JComponent" + ] + } + ] + }, + { + "type": "com.sun.java.swing.plaf.windows.WindowsLookAndFeel", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "com.sun.java.swing.plaf.windows.WindowsRootPaneUI", + "methods": [ + { + "name": "createUI", + "parameterTypes": [ + "javax.swing.JComponent" + ] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_ocelot_desktop_entity_OcelotBlock_clearLog", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_ocelot_desktop_entity_OcelotBlock_getInstant", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_ocelot_desktop_entity_OcelotBlock_getMaxCallBudget", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_ocelot_desktop_entity_OcelotBlock_getRemainingCallBudget", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_ocelot_desktop_entity_OcelotBlock_getTimestamp", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_ocelot_desktop_entity_OcelotBlock_log", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_allocateBuffer", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_bind", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_bitblt", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_buffers", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_copy", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_fill", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_freeAllBuffers", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_freeBuffer", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_freeMemory", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_get", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getActiveBuffer", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getBackground", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getBufferSize", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getDepth", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getForeground", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getPaletteColor", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getResolution", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getScreen", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_getViewport", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_maxDepth", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_maxResolution", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_set", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_setActiveBuffer", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_setBackground", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_setDepth", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_setForeground", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_setPaletteColor", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_setResolution", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_setViewport", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "generated.li.cil.oc.CallWrapper_totoro_ocelot_brain_entity_GraphicsCard_totalMemory", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "java" + }, + { + "type": "java.awt.SequencedEvent" + }, + { + "type": "java.awt.SystemColor", + "fields": [ + { + "name": "activeCaption" + }, + { + "name": "activeCaptionBorder" + }, + { + "name": "activeCaptionText" + }, + { + "name": "control" + }, + { + "name": "controlDkShadow" + }, + { + "name": "controlHighlight" + }, + { + "name": "controlLtHighlight" + }, + { + "name": "controlShadow" + }, + { + "name": "controlText" + }, + { + "name": "desktop" + }, + { + "name": "inactiveCaption" + }, + { + "name": "inactiveCaptionBorder" + }, + { + "name": "inactiveCaptionText" + }, + { + "name": "info" + }, + { + "name": "infoText" + }, + { + "name": "menu" + }, + { + "name": "menuPressedItemB" + }, + { + "name": "menuPressedItemF" + }, + { + "name": "menuText" + }, + { + "name": "scrollbar" + }, + { + "name": "text" + }, + { + "name": "textHighlight" + }, + { + "name": "textHighlightText" + }, + { + "name": "textInactiveText" + }, + { + "name": "textText" + }, + { + "name": "window" + }, + { + "name": "windowBorder" + }, + { + "name": "windowText" + } + ] + }, + { + "type": "java.awt.event.KeyEvent", + "fields": [ + { + "name": "VK_CONTEXT_MENU" + }, + { + "name": "VK_F10" + } + ] + }, + { + "type": "java.io" + }, + { + "type": "java.io.FilePermission" + }, + { + "type": "java.io.IOException" + }, + { + "type": "java.io.ObjectInputStream" + }, + { + "type": "java.io.ObjectOutputStream" + }, + { + "type": "java.io.ObjectStreamField" + }, + { + "type": "java.io.PrintStream" + }, + { + "type": "java.io.PrintWriter" + }, + { + "type": "java.io.Serializable", + "allDeclaredFields": true + }, + { + "type": "java.io.UnsupportedEncodingException" + }, + { + "type": "java.io.package" + }, + { + "type": "java.java$$io" + }, + { + "type": "java.lang" + }, + { + "type": "java.lang.AbstractStringBuilder" + }, + { + "type": "java.lang.Boolean" + }, + { + "type": "java.lang.Byte" + }, + { + "type": "java.lang.CharSequence" + }, + { + "type": "java.lang.Character" + }, + { + "type": "java.lang.Class" + }, + { + "type": "java.lang.ClassCastException" + }, + { + "type": "java.lang.ClassLoader" + }, + { + "type": "java.lang.ClassNotFoundException" + }, + { + "type": "java.lang.ClassValue" + }, + { + "type": "java.lang.CloneNotSupportedException" + }, + { + "type": "java.lang.Cloneable", + "allDeclaredFields": true + }, + { + "type": "java.lang.Comparable", + "allDeclaredFields": true + }, + { + "type": "java.lang.Deprecated" + }, + { + "type": "java.lang.Double" + }, + { + "type": "java.lang.Enum" + }, + { + "type": "java.lang.Exception", + "allDeclaredFields": true + }, + { + "type": "java.lang.Float" + }, + { + "type": "java.lang.FunctionalInterface" + }, + { + "type": "java.lang.IllegalAccessException" + }, + { + "type": "java.lang.IllegalArgumentException" + }, + { + "type": "java.lang.IndexOutOfBoundsException" + }, + { + "type": "java.lang.Integer" + }, + { + "type": "java.lang.InternalError" + }, + { + "type": "java.lang.InterruptedException" + }, + { + "type": "java.lang.Iterable" + }, + { + "type": "java.lang.Long" + }, + { + "type": "java.lang.NullPointerException" + }, + { + "type": "java.lang.Number" + }, + { + "type": "java.lang.Object", + "allDeclaredFields": true + }, + { + "type": "java.lang.Record" + }, + { + "type": "java.lang.ReflectiveOperationException" + }, + { + "type": "java.lang.RuntimeException", + "allDeclaredFields": true + }, + { + "type": "java.lang.RuntimePermission" + }, + { + "type": "java.lang.Short" + }, + { + "type": "java.lang.StackTraceElement" + }, + { + "type": "java.lang.String", + "allDeclaredFields": true + }, + { + "type": "java.lang.StringBuffer" + }, + { + "type": "java.lang.StringBuilder" + }, + { + "type": "java.lang.Thread", + "fields": [ + { + "name": "threadLocalRandomProbe" + } + ] + }, + { + "type": "java.lang.Throwable", + "allDeclaredFields": true + }, + { + "type": "java.lang.Void" + }, + { + "type": "java.lang.annotation" + }, + { + "type": "java.lang.annotation.Annotation" + }, + { + "type": "java.lang.annotation.Inherited" + }, + { + "type": "java.lang.annotation.Repeatable" + }, + { + "type": "java.lang.annotation.Retention" + }, + { + "type": "java.lang.annotation.RetentionPolicy" + }, + { + "type": "java.lang.annotation.package" + }, + { + "type": "java.lang.constant" + }, + { + "type": "java.lang.constant.Constable" + }, + { + "type": "java.lang.constant.ConstantDesc" + }, + { + "type": "java.lang.constant.MethodHandleDesc" + }, + { + "type": "java.lang.constant.package" + }, + { + "type": "java.lang.foreign" + }, + { + "type": "java.lang.foreign.MemorySegment" + }, + { + "type": "java.lang.foreign.package" + }, + { + "type": "java.lang.invoke" + }, + { + "type": "java.lang.invoke.BoundMethodHandle", + "allDeclaredFields": true + }, + { + "type": "java.lang.invoke.LambdaForm", + "allDeclaredFields": true + }, + { + "type": "java.lang.invoke.LambdaFormEditor" + }, + { + "type": "java.lang.invoke.MemberName", + "allDeclaredFields": true + }, + { + "type": "java.lang.invoke.MethodHandle", + "allDeclaredFields": true + }, + { + "type": "java.lang.invoke.MethodHandleImpl", + "allDeclaredFields": true + }, + { + "type": "java.lang.invoke.MethodHandles", + "allDeclaredFields": true + }, + { + "type": "java.lang.invoke.MethodType" + }, + { + "type": "java.lang.invoke.ResolvedMethodName" + }, + { + "type": "java.lang.invoke.VarForm" + }, + { + "type": "java.lang.invoke.VarHandle", + "allDeclaredFields": true, + "methods": [ + { + "name": "releaseFence", + "parameterTypes": [] + } + ] + }, + { + "type": "java.lang.invoke.package" + }, + { + "type": "java.lang.package" + }, + { + "type": "java.lang.ref" + }, + { + "type": "java.lang.ref.SoftReference" + }, + { + "type": "java.lang.ref.package" + }, + { + "type": "java.lang.reflect" + }, + { + "type": "java.lang.reflect.Constructor" + }, + { + "type": "java.lang.reflect.Field" + }, + { + "type": "java.lang.reflect.InvocationTargetException" + }, + { + "type": "java.lang.reflect.Member" + }, + { + "type": "java.lang.reflect.Method" + }, + { + "type": "java.lang.reflect.package" + }, + { + "type": "java.net.NetPermission" + }, + { + "type": "java.net.SocketPermission" + }, + { + "type": "java.net.URLPermission", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String", + "java.lang.String" + ] + } + ] + }, + { + "type": "java.nio" + }, + { + "type": "java.nio.Buffer", + "fields": [ + { + "name": "address" + } + ] + }, + { + "type": "java.nio.ByteBuffer", + "fields": [ + { + "name": "address" + } + ] + }, + { + "type": "java.nio.ByteOrder" + }, + { + "type": "java.nio.charset" + }, + { + "type": "java.nio.charset.CharacterCodingException" + }, + { + "type": "java.nio.charset.Charset" + }, + { + "type": "java.nio.charset.CharsetDecoder" + }, + { + "type": "java.nio.charset.package" + }, + { + "type": "java.nio.package" + }, + { + "type": "java.package" + }, + { + "type": "java.security.AlgorithmParametersSpi" + }, + { + "type": "java.security.AllPermission" + }, + { + "type": "java.security.KeyStoreSpi" + }, + { + "type": "java.security.SecureClassLoader" + }, + { + "type": "java.security.SecurityPermission" + }, + { + "type": "java.security.interfaces.ECPrivateKey" + }, + { + "type": "java.security.interfaces.ECPublicKey" + }, + { + "type": "java.security.interfaces.RSAPrivateKey" + }, + { + "type": "java.security.interfaces.RSAPublicKey" + }, + { + "type": "java.util" + }, + { + "type": "java.util.Comparator" + }, + { + "type": "java.util.HashMap" + }, + { + "type": "java.util.Iterator" + }, + { + "type": "java.util.List" + }, + { + "type": "java.util.Locale" + }, + { + "type": "java.util.Map" + }, + { + "type": "java.util.Optional" + }, + { + "type": "java.util.PropertyPermission" + }, + { + "type": "java.util.Set" + }, + { + "type": "java.util.concurrent.atomic.AtomicBoolean", + "fields": [ + { + "name": "value" + } + ] + }, + { + "type": "java.util.concurrent.atomic.Striped64", + "fields": [ + { + "name": "base" + }, + { + "name": "cellsBusy" + } + ] + }, + { + "type": "java.util.function" + }, + { + "type": "java.util.function.Function" + }, + { + "type": "java.util.function.package" + }, + { + "type": "java.util.package" + }, + { + "type": "java.util.stream" + }, + { + "type": "java.util.stream.IntStream" + }, + { + "type": "java.util.stream.Stream" + }, + { + "type": "java.util.stream.package" + }, + { + "type": "javax.imageio.spi.ImageReaderSpi" + }, + { + "type": "javax.imageio.spi.ImageWriterSpi" + }, + { + "type": "javax.smartcardio.CardPermission" + }, + { + "type": "javax.swing.plaf.basic.BasicPanelUI", + "methods": [ + { + "name": "createUI", + "parameterTypes": [ + "javax.swing.JComponent" + ] + } + ] + }, + { + "type": "jdk.internal" + }, + { + "type": "jdk.internal.ValueBased" + }, + { + "type": "jdk.internal.loader.BuiltinClassLoader" + }, + { + "type": "jdk.internal.loader.ClassLoaders$AppClassLoader" + }, + { + "type": "jdk.internal.package" + }, + { + "type": "jdk.internal.perf" + }, + { + "type": "jdk.internal.perf.PerfCounter" + }, + { + "type": "jdk.internal.perf.package" + }, + { + "type": "jdk.internal.reflect" + }, + { + "type": "jdk.internal.reflect.CallerSensitive" + }, + { + "type": "jdk.internal.reflect.package" + }, + { + "type": "jdk.internal.vm" + }, + { + "type": "jdk.internal.vm.annotation" + }, + { + "type": "jdk.internal.vm.annotation.DontInline" + }, + { + "type": "jdk.internal.vm.annotation.ForceInline" + }, + { + "type": "jdk.internal.vm.annotation.Hidden" + }, + { + "type": "jdk.internal.vm.annotation.IntrinsicCandidate" + }, + { + "type": "jdk.internal.vm.annotation.Stable" + }, + { + "type": "jdk.internal.vm.annotation.package" + }, + { + "type": "jdk.internal.vm.package" + }, + { + "type": "jdk.package" + }, + { + "type": "ocelot.desktop.entity.OcelotBlock", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ocelot.desktop.entity.OcelotCard", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.ApuItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.APU" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.ComponentBusItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.ComponentBus" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.CpuItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.CPU" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.DataCardItem$Tier1", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.DataCard$Tier1" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.DataCardItem$Tier2", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.DataCard$Tier2" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.DataCardItem$Tier3", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.DataCard$Tier3" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.DiskDriveMountableItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.DiskDriveMountable" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.EepromItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.EEPROM" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.FloppyItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.traits.Floppy" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.GraphicsCardItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.GraphicsCard" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.HddItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.HDDManaged" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.InternetCardItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.InternetCard" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.LinkedCardItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.LinkedCard" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.MagicalMemoryItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.MagicalMemory" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.MemoryItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.Memory" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.NetworkCardItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.NetworkCard" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.OcelotCardItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "ocelot.desktop.entity.OcelotCard" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.RedstoneCardItem$Tier1", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.Redstone$Tier1" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.RedstoneCardItem$Tier2", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.Redstone$Tier2" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.SelfDestructingCardItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.SelfDestructingCard" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.ServerItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.Server" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.SoundCardItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.sound_card.SoundCard" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.TapeItem", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.tape.Tape" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.WirelessNetworkCardItem$Tier1", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.WirelessNetworkCard$Tier1" + ] + } + ] + }, + { + "type": "ocelot.desktop.inventory.item.WirelessNetworkCardItem$Tier2", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.WirelessNetworkCard$Tier2" + ] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.CableNode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.Cable" + ] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.ChestNode", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.ComputerNode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.Case" + ] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.HologramProjectorNode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.HologramProjector" + ] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.IronNoteBlockNode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.IronNoteBlock" + ] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.NoteBlockNode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.NoteBlock" + ] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.OcelotBlockNode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "ocelot.desktop.entity.OcelotBlock" + ] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.RackNode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.Rack" + ] + } + ] + }, + { + "type": "ocelot.desktop.node.nodes.ScreenNode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.Screen" + ] + } + ] + }, + { + "type": "ocelot.desktop.ui.swing.ColoredPanel" + }, + { + "type": "ocelot.desktop.ui.swing.ImagePanel" + }, + { + "type": "ocelot.desktop.ui.swing.SplashScreen" + }, + { + "type": "org.junit" + }, + { + "type": "org.junit.After" + }, + { + "type": "org.junit.AfterClass" + }, + { + "type": "org.junit.Before" + }, + { + "type": "org.junit.BeforeClass" + }, + { + "type": "org.junit.Ignore" + }, + { + "type": "org.junit.Test" + }, + { + "type": "org.junit.package" + }, + { + "type": "org.lwjgl.MemoryUtilSun$AccessorUnsafe", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "org.lwjgl.input.Keyboard", + "allPublicFields": true + }, + { + "type": "org.lwjgl.openal.AL10", + "allDeclaredFields": true + }, + { + "type": "org.lwjgl.opengl.ARBDrawInstanced", + "methods": [ + { + "name": "nglDrawArraysInstancedARB", + "parameterTypes": [ + "int", + "int", + "int", + "int", + "long" + ] + }, + { + "name": "nglDrawElementsInstancedARB", + "parameterTypes": [ + "int", + "int", + "int", + "long", + "int", + "long" + ] + } + ] + }, + { + "type": "org.lwjgl.opengl.Display", + "methods": [ + { + "name": "getImplementation", + "parameterTypes": [] + } + ] + }, + { + "type": "org.lwjgl.opengl.GLContext", + "methods": [ + { + "name": "getFunctionAddress", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "org.lwjgl.opengl.GlobalLock", + "fields": [ + { + "name": "lock" + } + ] + }, + { + "type": "org.lwjgl.opengl.WindowsDisplay" + }, + { + "type": "org.package" + }, + { + "type": "scala" + }, + { + "type": "scala.$colon$colon" + }, + { + "type": "scala.$colon$plus" + }, + { + "type": "scala.$eq$colon$eq" + }, + { + "type": "scala.$hash$colon$colon" + }, + { + "type": "scala.$less$colon$less" + }, + { + "type": "scala.$plus$colon" + }, + { + "type": "scala.AbstractMethodError" + }, + { + "type": "scala.AnyRef" + }, + { + "type": "scala.AnyVal" + }, + { + "type": "scala.AnyValCompanion" + }, + { + "type": "scala.Array" + }, + { + "type": "scala.ArrayIndexOutOfBoundsException" + }, + { + "type": "scala.BigDecimal" + }, + { + "type": "scala.BigInt" + }, + { + "type": "scala.Boolean" + }, + { + "type": "scala.BufferedIterator" + }, + { + "type": "scala.Byte" + }, + { + "type": "scala.Char" + }, + { + "type": "scala.ClassCastException" + }, + { + "type": "scala.Cloneable" + }, + { + "type": "scala.DelayedInit" + }, + { + "type": "scala.Double" + }, + { + "type": "scala.DummyImplicit" + }, + { + "type": "scala.Dynamic" + }, + { + "type": "scala.Either" + }, + { + "type": "scala.Enumeration", + "allDeclaredFields": true + }, + { + "type": "scala.Equals" + }, + { + "type": "scala.Equiv" + }, + { + "type": "scala.Error" + }, + { + "type": "scala.Exception" + }, + { + "type": "scala.Float" + }, + { + "type": "scala.Fractional" + }, + { + "type": "scala.Function0" + }, + { + "type": "scala.Function1" + }, + { + "type": "scala.Function10" + }, + { + "type": "scala.Function11" + }, + { + "type": "scala.Function12" + }, + { + "type": "scala.Function13" + }, + { + "type": "scala.Function14" + }, + { + "type": "scala.Function15" + }, + { + "type": "scala.Function16" + }, + { + "type": "scala.Function17" + }, + { + "type": "scala.Function18" + }, + { + "type": "scala.Function19" + }, + { + "type": "scala.Function2" + }, + { + "type": "scala.Function20" + }, + { + "type": "scala.Function21" + }, + { + "type": "scala.Function22" + }, + { + "type": "scala.Function3" + }, + { + "type": "scala.Function4" + }, + { + "type": "scala.Function5" + }, + { + "type": "scala.Function6" + }, + { + "type": "scala.Function7" + }, + { + "type": "scala.Function8" + }, + { + "type": "scala.Function9" + }, + { + "type": "scala.IllegalArgumentException" + }, + { + "type": "scala.IndexOutOfBoundsException" + }, + { + "type": "scala.IndexedSeq" + }, + { + "type": "scala.Int" + }, + { + "type": "scala.Integral" + }, + { + "type": "scala.InterruptedException" + }, + { + "type": "scala.Iterable" + }, + { + "type": "scala.IterableOnce" + }, + { + "type": "scala.Iterator" + }, + { + "type": "scala.LazyList" + }, + { + "type": "scala.Left" + }, + { + "type": "scala.List" + }, + { + "type": "scala.Long" + }, + { + "type": "scala.LowPriorityImplicits" + }, + { + "type": "scala.MatchError" + }, + { + "type": "scala.Nil" + }, + { + "type": "scala.NoSuchElementException" + }, + { + "type": "scala.None" + }, + { + "type": "scala.NullPointerException" + }, + { + "type": "scala.NumberFormatException" + }, + { + "type": "scala.Numeric" + }, + { + "type": "scala.Option" + }, + { + "type": "scala.Ordered" + }, + { + "type": "scala.Ordering" + }, + { + "type": "scala.PartialFunction" + }, + { + "type": "scala.PartialOrdering" + }, + { + "type": "scala.PartiallyOrdered" + }, + { + "type": "scala.PolyFunction" + }, + { + "type": "scala.Predef" + }, + { + "type": "scala.Product" + }, + { + "type": "scala.Product1" + }, + { + "type": "scala.Product10" + }, + { + "type": "scala.Product11" + }, + { + "type": "scala.Product12" + }, + { + "type": "scala.Product13" + }, + { + "type": "scala.Product14" + }, + { + "type": "scala.Product15" + }, + { + "type": "scala.Product16" + }, + { + "type": "scala.Product17" + }, + { + "type": "scala.Product18" + }, + { + "type": "scala.Product19" + }, + { + "type": "scala.Product2" + }, + { + "type": "scala.Product20" + }, + { + "type": "scala.Product21" + }, + { + "type": "scala.Product22" + }, + { + "type": "scala.Product3" + }, + { + "type": "scala.Product4" + }, + { + "type": "scala.Product5" + }, + { + "type": "scala.Product6" + }, + { + "type": "scala.Product7" + }, + { + "type": "scala.Product8" + }, + { + "type": "scala.Product9" + }, + { + "type": "scala.Range" + }, + { + "type": "scala.Right" + }, + { + "type": "scala.RuntimeException" + }, + { + "type": "scala.Seq" + }, + { + "type": "scala.SerialVersionUID" + }, + { + "type": "scala.Serializable" + }, + { + "type": "scala.Short" + }, + { + "type": "scala.Some" + }, + { + "type": "scala.Specializable" + }, + { + "type": "scala.Stream" + }, + { + "type": "scala.StringBuilder" + }, + { + "type": "scala.StringContext" + }, + { + "type": "scala.StringIndexOutOfBoundsException" + }, + { + "type": "scala.Symbol" + }, + { + "type": "scala.Throwable" + }, + { + "type": "scala.Traversable" + }, + { + "type": "scala.TraversableOnce" + }, + { + "type": "scala.Tuple1" + }, + { + "type": "scala.Tuple10" + }, + { + "type": "scala.Tuple11" + }, + { + "type": "scala.Tuple12" + }, + { + "type": "scala.Tuple13" + }, + { + "type": "scala.Tuple14" + }, + { + "type": "scala.Tuple15" + }, + { + "type": "scala.Tuple16" + }, + { + "type": "scala.Tuple17" + }, + { + "type": "scala.Tuple18" + }, + { + "type": "scala.Tuple19" + }, + { + "type": "scala.Tuple2" + }, + { + "type": "scala.Tuple20" + }, + { + "type": "scala.Tuple21" + }, + { + "type": "scala.Tuple22" + }, + { + "type": "scala.Tuple3" + }, + { + "type": "scala.Tuple4" + }, + { + "type": "scala.Tuple5" + }, + { + "type": "scala.Tuple6" + }, + { + "type": "scala.Tuple7" + }, + { + "type": "scala.Tuple8" + }, + { + "type": "scala.Tuple9" + }, + { + "type": "scala.UninitializedFieldError" + }, + { + "type": "scala.Unit" + }, + { + "type": "scala.UnsupportedOperationException" + }, + { + "type": "scala.ValueOf" + }, + { + "type": "scala.Vector" + }, + { + "type": "scala.annotation" + }, + { + "type": "scala.annotation.Annotation" + }, + { + "type": "scala.annotation.ConstantAnnotation" + }, + { + "type": "scala.annotation.StaticAnnotation" + }, + { + "type": "scala.annotation.TypeConstraint" + }, + { + "type": "scala.annotation.compileTimeOnly" + }, + { + "type": "scala.annotation.elidable" + }, + { + "type": "scala.annotation.experimental" + }, + { + "type": "scala.annotation.implicitAmbiguous" + }, + { + "type": "scala.annotation.implicitNotFound" + }, + { + "type": "scala.annotation.internal" + }, + { + "type": "scala.annotation.internal.AnnotationDefault" + }, + { + "type": "scala.annotation.internal.Child" + }, + { + "type": "scala.annotation.internal.Repeated" + }, + { + "type": "scala.annotation.internal.package" + }, + { + "type": "scala.annotation.meta" + }, + { + "type": "scala.annotation.meta.beanGetter" + }, + { + "type": "scala.annotation.meta.beanSetter" + }, + { + "type": "scala.annotation.meta.companionClass" + }, + { + "type": "scala.annotation.meta.companionMethod" + }, + { + "type": "scala.annotation.meta.companionObject" + }, + { + "type": "scala.annotation.meta.field" + }, + { + "type": "scala.annotation.meta.getter" + }, + { + "type": "scala.annotation.meta.languageFeature" + }, + { + "type": "scala.annotation.meta.package" + }, + { + "type": "scala.annotation.meta.param" + }, + { + "type": "scala.annotation.meta.setter" + }, + { + "type": "scala.annotation.migration" + }, + { + "type": "scala.annotation.nowarn" + }, + { + "type": "scala.annotation.package" + }, + { + "type": "scala.annotation.scala$annotation$$meta" + }, + { + "type": "scala.annotation.showAsInfix" + }, + { + "type": "scala.annotation.static" + }, + { + "type": "scala.annotation.strictfp" + }, + { + "type": "scala.annotation.switch" + }, + { + "type": "scala.annotation.tailrec" + }, + { + "type": "scala.annotation.targetName" + }, + { + "type": "scala.annotation.unchecked" + }, + { + "type": "scala.annotation.unchecked.package" + }, + { + "type": "scala.annotation.unchecked.uncheckedStable" + }, + { + "type": "scala.annotation.unchecked.uncheckedVariance" + }, + { + "type": "scala.annotation.unspecialized" + }, + { + "type": "scala.annotation.unused" + }, + { + "type": "scala.annotation.varargs" + }, + { + "type": "scala.beans" + }, + { + "type": "scala.beans.BeanProperty" + }, + { + "type": "scala.beans.BooleanBeanProperty" + }, + { + "type": "scala.beans.package" + }, + { + "type": "scala.collection" + }, + { + "type": "scala.collection.$colon$plus" + }, + { + "type": "scala.collection.$plus$colon" + }, + { + "type": "scala.collection.AnyConstr" + }, + { + "type": "scala.collection.ArrayLike" + }, + { + "type": "scala.collection.ArrayOps" + }, + { + "type": "scala.collection.BufferedIterator" + }, + { + "type": "scala.collection.Factory" + }, + { + "type": "scala.collection.GenIterable" + }, + { + "type": "scala.collection.GenMap" + }, + { + "type": "scala.collection.GenSeq" + }, + { + "type": "scala.collection.GenSet" + }, + { + "type": "scala.collection.GenTraversable" + }, + { + "type": "scala.collection.GenTraversableOnce" + }, + { + "type": "scala.collection.Iterable" + }, + { + "type": "scala.collection.IterableFactory" + }, + { + "type": "scala.collection.IterableFactoryDefaults" + }, + { + "type": "scala.collection.IterableOnce" + }, + { + "type": "scala.collection.IterableOnceExtensionMethods" + }, + { + "type": "scala.collection.Iterator" + }, + { + "type": "scala.collection.Map" + }, + { + "type": "scala.collection.MapFactory" + }, + { + "type": "scala.collection.Seq" + }, + { + "type": "scala.collection.SeqFactory" + }, + { + "type": "scala.collection.SeqLike" + }, + { + "type": "scala.collection.SeqOps" + }, + { + "type": "scala.collection.Set" + }, + { + "type": "scala.collection.StringOps" + }, + { + "type": "scala.collection.Traversable" + }, + { + "type": "scala.collection.TraversableOnce" + }, + { + "type": "scala.collection.immutable" + }, + { + "type": "scala.collection.immutable.$colon$colon" + }, + { + "type": "scala.collection.immutable.AbstractSeq" + }, + { + "type": "scala.collection.immutable.DefaultMap" + }, + { + "type": "scala.collection.immutable.IndexedSeq" + }, + { + "type": "scala.collection.immutable.Iterable" + }, + { + "type": "scala.collection.immutable.LinearSeq" + }, + { + "type": "scala.collection.immutable.LinearSeqOps" + }, + { + "type": "scala.collection.immutable.List" + }, + { + "type": "scala.collection.immutable.Map" + }, + { + "type": "scala.collection.immutable.Nil" + }, + { + "type": "scala.collection.immutable.Seq" + }, + { + "type": "scala.collection.immutable.Stream" + }, + { + "type": "scala.collection.immutable.StringOps" + }, + { + "type": "scala.collection.immutable.StringView" + }, + { + "type": "scala.collection.immutable.Traversable" + }, + { + "type": "scala.collection.immutable.package" + }, + { + "type": "scala.collection.package" + }, + { + "type": "scala.collection.scala$collection$$immutable" + }, + { + "type": "scala.concurrent" + }, + { + "type": "scala.concurrent.CancellationException" + }, + { + "type": "scala.concurrent.ExecutionException" + }, + { + "type": "scala.concurrent.Future" + }, + { + "type": "scala.concurrent.Promise" + }, + { + "type": "scala.concurrent.TimeoutException" + }, + { + "type": "scala.concurrent.blocking" + }, + { + "type": "scala.concurrent.package" + }, + { + "type": "scala.deprecated" + }, + { + "type": "scala.deprecatedInheritance" + }, + { + "type": "scala.deprecatedName" + }, + { + "type": "scala.deprecatedOverriding" + }, + { + "type": "scala.inline" + }, + { + "type": "scala.languageFeature" + }, + { + "type": "scala.math" + }, + { + "type": "scala.math.E" + }, + { + "type": "scala.math.IEEEremainder" + }, + { + "type": "scala.math.Pi" + }, + { + "type": "scala.math.ScalaNumber" + }, + { + "type": "scala.math.abs" + }, + { + "type": "scala.math.acos" + }, + { + "type": "scala.math.addExact" + }, + { + "type": "scala.math.asin" + }, + { + "type": "scala.math.atan" + }, + { + "type": "scala.math.atan2" + }, + { + "type": "scala.math.cbrt" + }, + { + "type": "scala.math.ceil" + }, + { + "type": "scala.math.copySign" + }, + { + "type": "scala.math.cos" + }, + { + "type": "scala.math.cosh" + }, + { + "type": "scala.math.decrementExact" + }, + { + "type": "scala.math.exp" + }, + { + "type": "scala.math.expm1" + }, + { + "type": "scala.math.floor" + }, + { + "type": "scala.math.floorDiv" + }, + { + "type": "scala.math.floorMod" + }, + { + "type": "scala.math.getExponent" + }, + { + "type": "scala.math.hypot" + }, + { + "type": "scala.math.incrementExact" + }, + { + "type": "scala.math.log" + }, + { + "type": "scala.math.log10" + }, + { + "type": "scala.math.log1p" + }, + { + "type": "scala.math.max" + }, + { + "type": "scala.math.min" + }, + { + "type": "scala.math.multiplyExact" + }, + { + "type": "scala.math.negateExact" + }, + { + "type": "scala.math.nextAfter" + }, + { + "type": "scala.math.nextDown" + }, + { + "type": "scala.math.nextUp" + }, + { + "type": "scala.math.package" + }, + { + "type": "scala.math.pow" + }, + { + "type": "scala.math.random" + }, + { + "type": "scala.math.rint" + }, + { + "type": "scala.math.round" + }, + { + "type": "scala.math.scalb" + }, + { + "type": "scala.math.signum" + }, + { + "type": "scala.math.sin" + }, + { + "type": "scala.math.sinh" + }, + { + "type": "scala.math.sqrt" + }, + { + "type": "scala.math.subtractExact" + }, + { + "type": "scala.math.tan" + }, + { + "type": "scala.math.tanh" + }, + { + "type": "scala.math.toDegrees" + }, + { + "type": "scala.math.toIntExact" + }, + { + "type": "scala.math.toRadians" + }, + { + "type": "scala.math.ulp" + }, + { + "type": "scala.native" + }, + { + "type": "scala.noinline" + }, + { + "type": "scala.package" + }, + { + "type": "scala.reflect" + }, + { + "type": "scala.reflect.ClassManifest" + }, + { + "type": "scala.reflect.ClassManifestFactory" + }, + { + "type": "scala.reflect.ClassTag" + }, + { + "type": "scala.reflect.Manifest" + }, + { + "type": "scala.reflect.ManifestFactory" + }, + { + "type": "scala.reflect.NoManifest" + }, + { + "type": "scala.reflect.OptManifest" + }, + { + "type": "scala.reflect.ScalaLongSignature" + }, + { + "type": "scala.reflect.ScalaSignature", + "methods": [ + { + "name": "bytes", + "parameterTypes": [] + } + ] + }, + { + "type": "scala.reflect.api" + }, + { + "type": "scala.reflect.api.Exprs" + }, + { + "type": "scala.reflect.api.JavaUniverse" + }, + { + "type": "scala.reflect.api.Mirror" + }, + { + "type": "scala.reflect.api.Quasiquotes" + }, + { + "type": "scala.reflect.api.TreeCreator" + }, + { + "type": "scala.reflect.api.Trees" + }, + { + "type": "scala.reflect.api.TypeCreator" + }, + { + "type": "scala.reflect.api.TypeTags" + }, + { + "type": "scala.reflect.api.Universe" + }, + { + "type": "scala.reflect.api.materializeTypeTag" + }, + { + "type": "scala.reflect.api.materializeWeakTypeTag" + }, + { + "type": "scala.reflect.api.package" + }, + { + "type": "scala.reflect.classTag" + }, + { + "type": "scala.reflect.ensureAccessible" + }, + { + "type": "scala.reflect.internal" + }, + { + "type": "scala.reflect.internal.annotations" + }, + { + "type": "scala.reflect.internal.annotations.compileTimeOnly" + }, + { + "type": "scala.reflect.internal.annotations.package" + }, + { + "type": "scala.reflect.internal.annotations.uncheckedBounds" + }, + { + "type": "scala.reflect.internal.package" + }, + { + "type": "scala.reflect.macros" + }, + { + "type": "scala.reflect.macros.Context" + }, + { + "type": "scala.reflect.macros.blackbox" + }, + { + "type": "scala.reflect.macros.blackbox.Context" + }, + { + "type": "scala.reflect.macros.blackbox.package" + }, + { + "type": "scala.reflect.macros.internal" + }, + { + "type": "scala.reflect.macros.internal.macroImpl" + }, + { + "type": "scala.reflect.macros.internal.macroImplLocation" + }, + { + "type": "scala.reflect.macros.internal.package" + }, + { + "type": "scala.reflect.macros.package" + }, + { + "type": "scala.reflect.macros.scala$reflect$macros$$whitebox" + }, + { + "type": "scala.reflect.macros.whitebox" + }, + { + "type": "scala.reflect.macros.whitebox.Context" + }, + { + "type": "scala.reflect.macros.whitebox.package" + }, + { + "type": "scala.reflect.materializeClassTag" + }, + { + "type": "scala.reflect.package" + }, + { + "type": "scala.reflect.runtime" + }, + { + "type": "scala.reflect.runtime.currentMirror" + }, + { + "type": "scala.reflect.runtime.package" + }, + { + "type": "scala.reflect.runtime.universe" + }, + { + "type": "scala.runtime" + }, + { + "type": "scala.runtime.AbstractFunction0" + }, + { + "type": "scala.runtime.AbstractFunction1" + }, + { + "type": "scala.runtime.AbstractFunction10" + }, + { + "type": "scala.runtime.AbstractFunction11" + }, + { + "type": "scala.runtime.AbstractFunction12" + }, + { + "type": "scala.runtime.AbstractFunction13" + }, + { + "type": "scala.runtime.AbstractFunction14" + }, + { + "type": "scala.runtime.AbstractFunction15" + }, + { + "type": "scala.runtime.AbstractFunction16" + }, + { + "type": "scala.runtime.AbstractFunction17" + }, + { + "type": "scala.runtime.AbstractFunction18" + }, + { + "type": "scala.runtime.AbstractFunction19" + }, + { + "type": "scala.runtime.AbstractFunction2" + }, + { + "type": "scala.runtime.AbstractFunction20" + }, + { + "type": "scala.runtime.AbstractFunction21" + }, + { + "type": "scala.runtime.AbstractFunction22" + }, + { + "type": "scala.runtime.AbstractFunction3" + }, + { + "type": "scala.runtime.AbstractFunction4" + }, + { + "type": "scala.runtime.AbstractFunction5" + }, + { + "type": "scala.runtime.AbstractFunction6" + }, + { + "type": "scala.runtime.AbstractFunction7" + }, + { + "type": "scala.runtime.AbstractFunction8" + }, + { + "type": "scala.runtime.AbstractFunction9" + }, + { + "type": "scala.runtime.AbstractPartialFunction" + }, + { + "type": "scala.runtime.BooleanRef" + }, + { + "type": "scala.runtime.BoxedUnit" + }, + { + "type": "scala.runtime.BoxesRunTime" + }, + { + "type": "scala.runtime.ByteRef" + }, + { + "type": "scala.runtime.CharRef" + }, + { + "type": "scala.runtime.DoubleRef" + }, + { + "type": "scala.runtime.EmptyMethodCache" + }, + { + "type": "scala.runtime.FloatRef" + }, + { + "type": "scala.runtime.IntRef" + }, + { + "type": "scala.runtime.LazyBoolean" + }, + { + "type": "scala.runtime.LazyByte" + }, + { + "type": "scala.runtime.LazyChar" + }, + { + "type": "scala.runtime.LazyDouble" + }, + { + "type": "scala.runtime.LazyFloat" + }, + { + "type": "scala.runtime.LazyInt" + }, + { + "type": "scala.runtime.LazyLong" + }, + { + "type": "scala.runtime.LazyRef" + }, + { + "type": "scala.runtime.LazyShort" + }, + { + "type": "scala.runtime.LazyUnit" + }, + { + "type": "scala.runtime.LongRef" + }, + { + "type": "scala.runtime.MethodCache" + }, + { + "type": "scala.runtime.ModuleSerializationProxy" + }, + { + "type": "scala.runtime.NonLocalReturnControl" + }, + { + "type": "scala.runtime.Nothing$" + }, + { + "type": "scala.runtime.Null$" + }, + { + "type": "scala.runtime.ObjectRef" + }, + { + "type": "scala.runtime.RichFloat" + }, + { + "type": "scala.runtime.ScalaRunTime" + }, + { + "type": "scala.runtime.ShortRef" + }, + { + "type": "scala.runtime.Statics" + }, + { + "type": "scala.runtime.StructuralCallSite" + }, + { + "type": "scala.runtime.SymbolLiteral" + }, + { + "type": "scala.runtime.VolatileBooleanRef" + }, + { + "type": "scala.runtime.VolatileByteRef" + }, + { + "type": "scala.runtime.VolatileCharRef" + }, + { + "type": "scala.runtime.VolatileDoubleRef" + }, + { + "type": "scala.runtime.VolatileFloatRef" + }, + { + "type": "scala.runtime.VolatileIntRef" + }, + { + "type": "scala.runtime.VolatileLongRef" + }, + { + "type": "scala.runtime.VolatileObjectRef" + }, + { + "type": "scala.runtime.VolatileShortRef" + }, + { + "type": "scala.runtime.package" + }, + { + "type": "scala.scala$$annotation" + }, + { + "type": "scala.scala$$collection" + }, + { + "type": "scala.scala$$reflect" + }, + { + "type": "scala.specialized" + }, + { + "type": "scala.throws" + }, + { + "type": "scala.transient" + }, + { + "type": "scala.unchecked" + }, + { + "type": "scala.util" + }, + { + "type": "scala.util.Failure" + }, + { + "type": "scala.util.Success" + }, + { + "type": "scala.util.Try" + }, + { + "type": "scala.util.chaining" + }, + { + "type": "scala.util.control" + }, + { + "type": "scala.util.control.NonFatal" + }, + { + "type": "scala.util.control.package" + }, + { + "type": "scala.util.package" + }, + { + "type": "scala.volatile" + }, + { + "type": "scala.xml" + }, + { + "type": "scala.xml.TopScope" + }, + { + "type": "scala.xml.package" + }, + { + "type": "sun.awt.Symbol", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.awt.windows.WingDings", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.invoke" + }, + { + "type": "sun.invoke.empty" + }, + { + "type": "sun.invoke.empty.Empty" + }, + { + "type": "sun.invoke.empty.package" + }, + { + "type": "sun.invoke.package" + }, + { + "type": "sun.invoke.util" + }, + { + "type": "sun.invoke.util.Wrapper" + }, + { + "type": "sun.invoke.util.package" + }, + { + "type": "sun.java2d.marlin.DMarlinRenderingEngine", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.misc.Unsafe", + "allDeclaredFields": true + }, + { + "type": "sun.net.www.content.content.unknown" + }, + { + "type": "sun.package" + }, + { + "type": "sun.security.pkcs12.PKCS12KeyStore", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.DRBG", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.security.SecureRandomParameters" + ] + } + ] + }, + { + "type": "sun.security.provider.DSA$SHA224withDSA", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.DSA$SHA256withDSA", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.JavaKeyStore$DualFormatJKS", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.JavaKeyStore$JKS", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.MD5", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.SHA", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.SHA2$SHA224", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.SHA2$SHA256", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.SHA5$SHA384", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.SHA5$SHA512", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.X509Factory", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.provider.certpath.PKIXCertPathValidator", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.rsa.PSSParameters", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.rsa.RSAKeyFactory$Legacy", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.rsa.RSAPSSSignature", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.rsa.RSASignature$SHA224withRSA", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.rsa.RSASignature$SHA256withRSA", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.ssl.KeyManagerFactoryImpl$SunX509", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.ssl.SSLContextImpl$DefaultSSLContext", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.security.x509.AuthorityInfoAccessExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.AuthorityKeyIdentifierExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.BasicConstraintsExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.CRLDistributionPointsExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.CertificatePoliciesExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.ExtendedKeyUsageExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.IssuerAlternativeNameExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.KeyUsageExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.NetscapeCertTypeExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.PrivateKeyUsageExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.SubjectAlternativeNameExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.security.x509.SubjectKeyIdentifierExtension", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.Boolean", + "java.lang.Object" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.APU", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.CPU", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Cable", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Case", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.ComponentBus", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.DataCard$Tier1", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.DataCard$Tier2", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.DataCard$Tier3", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.DiskDriveMountable", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.EEPROM", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.GraphicsCard", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.HDDManaged", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.HologramProjector", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.InternetCard", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.IronNoteBlock", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Keyboard", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.LinkedCard", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.MagicalMemory", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Memory", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.ExtendedTier$ExtendedTierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.NetworkCard", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.NoteBlock", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Rack", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Redstone$Tier1", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Redstone$Tier2", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Screen", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.SelfDestructingCard", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.Server", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.util.Tier$TierVal" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.WirelessNetworkCard$Tier1", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.WirelessNetworkCard$Tier2", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.fs.HandleValue", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.machine.AbstractValue" + }, + { + "type": "totoro.ocelot.brain.entity.machine.CallbackCall" + }, + { + "type": "totoro.ocelot.brain.entity.machine.luac.NativeLua52Architecture", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.machine.Machine" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.machine.luac.NativeLua53Architecture", + "methods": [ + { + "name": "", + "parameterTypes": [ + "totoro.ocelot.brain.entity.machine.Machine" + ] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.machine.luac.NativeLua54Architecture" + }, + { + "type": "totoro.ocelot.brain.entity.sound_card.SoundCard", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.tape.Tape", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.entity.tape.Tape$Kind$", + "allDeclaredFields": true, + "methods": [ + { + "name": "Copper", + "parameterTypes": [] + }, + { + "name": "Diamond", + "parameterTypes": [] + }, + { + "name": "Gold", + "parameterTypes": [] + }, + { + "name": "Golder", + "parameterTypes": [] + }, + { + "name": "Greg", + "parameterTypes": [] + }, + { + "name": "Ig", + "parameterTypes": [] + }, + { + "name": "Iron", + "parameterTypes": [] + }, + { + "name": "NetherStar", + "parameterTypes": [] + }, + { + "name": "NetherStarrer", + "parameterTypes": [] + }, + { + "name": "Steel", + "parameterTypes": [] + } + ] + }, + { + "type": "totoro.ocelot.brain.loot.Loot$LootFloppy", + "methods": [ + { + "name": "", + "parameterTypes": [] + } + ] + } + ], + "resources": [ + { + "glob": "META-INF/services/ch.qos.logback.classic.spi.Configurator" + }, + { + "glob": "META-INF/services/java.awt.im.spi.InputMethodDescriptor" + }, + { + "glob": "META-INF/services/java.lang.System$LoggerFinder" + }, + { + "glob": "META-INF/services/java.net.ContentHandlerFactory" + }, + { + "glob": "META-INF/services/java.net.spi.InetAddressResolverProvider" + }, + { + "glob": "META-INF/services/java.net.spi.URLStreamHandlerProvider" + }, + { + "glob": "META-INF/services/java.time.zone.ZoneRulesProvider" + }, + { + "glob": "META-INF/services/javax.imageio.spi.ImageInputStreamSpi" + }, + { + "glob": "META-INF/services/javax.imageio.spi.ImageOutputStreamSpi" + }, + { + "glob": "META-INF/services/javax.imageio.spi.ImageReaderSpi" + }, + { + "glob": "META-INF/services/javax.imageio.spi.ImageTranscoderSpi" + }, + { + "glob": "META-INF/services/javax.imageio.spi.ImageWriterSpi" + }, + { + "glob": "META-INF/services/org.slf4j.spi.SLF4JServiceProvider" + }, + { + "glob": "application.conf" + }, + { + "glob": "assets/opencomputers/font.hex" + }, + { + "glob": "assets/opencomputers/lib/libjnlua52-windows-x86_64.dll" + }, + { + "glob": "assets/opencomputers/lib/libjnlua53-windows-x86_64.dll" + }, + { + "glob": "assets/opencomputers/lib/libjnlua54-windows-x86_64.dll" + }, + { + "glob": "assets/opencomputers/lua/advLoader.lua" + }, + { + "glob": "assets/opencomputers/lua/bios.lua" + }, + { + "glob": "assets/opencomputers/lua/cyan.lua" + }, + { + "glob": "assets/opencomputers/lua/machine.lua" + }, + { + "glob": "assets/opencomputers/lua/mineosEFI.lua" + }, + { + "glob": "library.properties" + }, + { + "glob": "logback-test.scmo" + }, + { + "glob": "logback-test.xml" + }, + { + "glob": "logback.scmo" + }, + { + "glob": "logback.xml" + }, + { + "glob": "ocelot/desktop/colorscheme.txt" + }, + { + "glob": "ocelot/desktop/images/icon128.png" + }, + { + "glob": "ocelot/desktop/images/icon16.png" + }, + { + "glob": "ocelot/desktop/images/icon256.png" + }, + { + "glob": "ocelot/desktop/images/icon32.png" + }, + { + "glob": "ocelot/desktop/images/icon64.png" + }, + { + "glob": "ocelot/desktop/images/splash/splash.png" + }, + { + "glob": "ocelot/desktop/images/spritesheet/spritesheet.png" + }, + { + "glob": "ocelot/desktop/images/spritesheet/spritesheet.txt" + }, + { + "glob": "ocelot/desktop/messages.txt" + }, + { + "glob": "ocelot/desktop/shader/general.frag" + }, + { + "glob": "ocelot/desktop/shader/general.vert" + }, + { + "glob": "ocelot/desktop/shader/general_3d.frag" + }, + { + "glob": "ocelot/desktop/shader/general_3d.vert" + }, + { + "glob": "ocelot/desktop/sounds/interface/click.ogg" + }, + { + "glob": "ocelot/desktop/sounds/machine/computer_running.ogg" + }, + { + "glob": "ocelot/desktop/sounds/machine/floppy_insert.ogg" + }, + { + "glob": "ocelot/desktop/unscii-16.hex" + }, + { + "glob": "ocelot/desktop/unscii-8.hex" + }, + { + "module": "java.base", + "glob": "jdk/internal/icu/impl/data/icudt74b/nfkc.nrm" + }, + { + "module": "java.base", + "glob": "jdk/internal/icu/impl/data/icudt74b/uprops.icu" + }, + { + "module": "java.base", + "glob": "sun/net/idn/uidna.spp" + }, + { + "module": "java.base", + "glob": "sun/net/www/content-types.properties" + }, + { + "module": "java.desktop", + "glob": "com/sun/java/swing/plaf/windows/resources/windows_en.properties" + }, + { + "module": "java.desktop", + "glob": "com/sun/java/swing/plaf/windows/resources/windows_en_US.properties" + }, + { + "module": "java.desktop", + "glob": "com/sun/swing/internal/plaf/basic/resources/basic_en.properties" + }, + { + "module": "java.desktop", + "glob": "com/sun/swing/internal/plaf/basic/resources/basic_en_US.properties" + }, + { + "module": "java.desktop", + "glob": "sun/awt/resources/awt_en.properties" + }, + { + "module": "java.desktop", + "glob": "sun/awt/resources/awt_en_US.properties" + } + ], + + "bundles": [ + { + "name": "com.sun.java.swing.plaf.windows.resources.windows", + "locales": [ + "en-US" + ] + }, + { + "name": "com.sun.swing.internal.plaf.basic.resources.basic", + "locales": [ + "en-US" + ] + }, + { + "name": "sun.awt.resources.awt", + "locales": [ + "en-US" + ] + } + ], + "jni": [ + { + "type": "[Ljava.util.Locale;" + }, + { + "type": "[Lsun.java2d.loops.GraphicsPrimitive;" + }, + { + "type": "java.awt.AWTEvent", + "fields": [ + { + "name": "bdata" + }, + { + "name": "consumed" + }, + { + "name": "id" + } + ] + }, + { + "type": "java.awt.AlphaComposite", + "fields": [ + { + "name": "extraAlpha" + }, + { + "name": "rule" + } + ] + }, + { + "type": "java.awt.Color", + "methods": [ + { + "name": "getRGB", + "parameterTypes": [] + } + ] + }, + { + "type": "java.awt.Component", + "fields": [ + { + "name": "appContext" + }, + { + "name": "background" + }, + { + "name": "cursor" + }, + { + "name": "enabled" + }, + { + "name": "focusable" + }, + { + "name": "foreground" + }, + { + "name": "graphicsConfig" + }, + { + "name": "height" + }, + { + "name": "parent" + }, + { + "name": "peer" + }, + { + "name": "visible" + }, + { + "name": "width" + }, + { + "name": "x" + }, + { + "name": "y" + } + ], + "methods": [ + { + "name": "getFont_NoClientCode", + "parameterTypes": [] + }, + { + "name": "getLocationOnScreen_NoTreeLock", + "parameterTypes": [] + }, + { + "name": "getToolkitImpl", + "parameterTypes": [] + }, + { + "name": "isEnabledImpl", + "parameterTypes": [] + } + ] + }, + { + "type": "java.awt.Container", + "fields": [ + { + "name": "layoutMgr" + } + ] + }, + { + "type": "java.awt.Cursor", + "fields": [ + { + "name": "pData" + }, + { + "name": "type" + } + ], + "methods": [ + { + "name": "setPData", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "type": "java.awt.Dialog", + "fields": [ + { + "name": "title" + }, + { + "name": "undecorated" + } + ] + }, + { + "type": "java.awt.Dimension", + "fields": [ + { + "name": "height" + }, + { + "name": "width" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [ + "int", + "int" + ] + } + ] + }, + { + "type": "java.awt.Font", + "fields": [ + { + "name": "name" + }, + { + "name": "pData" + }, + { + "name": "size" + }, + { + "name": "style" + } + ], + "methods": [ + { + "name": "getFont", + "parameterTypes": [ + "java.lang.String" + ] + }, + { + "name": "getFontPeer", + "parameterTypes": [] + } + ] + }, + { + "type": "java.awt.FontMetrics", + "fields": [ + { + "name": "font" + } + ], + "methods": [ + { + "name": "getHeight", + "parameterTypes": [] + } + ] + }, + { + "type": "java.awt.Frame", + "fields": [ + { + "name": "undecorated" + } + ] + }, + { + "type": "java.awt.Insets", + "fields": [ + { + "name": "bottom" + }, + { + "name": "left" + }, + { + "name": "right" + }, + { + "name": "top" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [ + "int", + "int", + "int", + "int" + ] + } + ] + }, + { + "type": "java.awt.Point", + "fields": [ + { + "name": "x" + }, + { + "name": "y" + } + ] + }, + { + "type": "java.awt.Rectangle", + "methods": [ + { + "name": "", + "parameterTypes": [ + "int", + "int", + "int", + "int" + ] + } + ] + }, + { + "type": "java.awt.SequencedEvent", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.awt.AWTEvent" + ] + } + ] + }, + { + "type": "java.awt.Toolkit", + "methods": [ + { + "name": "getDefaultToolkit", + "parameterTypes": [] + }, + { + "name": "getFontMetrics", + "parameterTypes": [ + "java.awt.Font" + ] + } + ] + }, + { + "type": "java.awt.Window", + "fields": [ + { + "name": "autoRequestFocus" + }, + { + "name": "locationByPlatform" + }, + { + "name": "securityWarningHeight" + }, + { + "name": "securityWarningWidth" + }, + { + "name": "warningString" + } + ], + "methods": [ + { + "name": "calculateSecurityWarningPosition", + "parameterTypes": [ + "double", + "double", + "double", + "double" + ] + }, + { + "name": "getWarningString", + "parameterTypes": [] + } + ] + }, + { + "type": "java.awt.Window$Type" + }, + { + "type": "java.awt.desktop.UserSessionEvent$Reason", + "fields": [ + { + "name": "CONSOLE" + }, + { + "name": "LOCK" + }, + { + "name": "REMOTE" + }, + { + "name": "UNSPECIFIED" + } + ] + }, + { + "type": "java.awt.event.ComponentEvent", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.awt.Component", + "int" + ] + } + ] + }, + { + "type": "java.awt.event.InputEvent", + "fields": [ + { + "name": "modifiers" + } + ], + "methods": [ + { + "name": "getButtonDownMasks", + "parameterTypes": [] + } + ] + }, + { + "type": "java.awt.event.KeyEvent", + "fields": [ + { + "name": "extendedKeyCode" + }, + { + "name": "keyChar" + }, + { + "name": "keyCode" + }, + { + "name": "primaryLevelUnicode" + }, + { + "name": "rawCode" + }, + { + "name": "scancode" + } + ] + }, + { + "type": "java.awt.event.MouseEvent", + "fields": [ + { + "name": "button" + }, + { + "name": "causedByTouchEvent" + }, + { + "name": "x" + }, + { + "name": "y" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.awt.Component", + "int", + "long", + "int", + "int", + "int", + "int", + "int", + "int", + "boolean", + "int" + ] + } + ] + }, + { + "type": "java.awt.geom.AffineTransform", + "fields": [ + { + "name": "m00" + }, + { + "name": "m01" + }, + { + "name": "m02" + }, + { + "name": "m10" + }, + { + "name": "m11" + }, + { + "name": "m12" + } + ] + }, + { + "type": "java.awt.geom.GeneralPath", + "methods": [ + { + "name": "", + "parameterTypes": [] + }, + { + "name": "", + "parameterTypes": [ + "int", + "byte[]", + "int", + "float[]", + "int" + ] + } + ] + }, + { + "type": "java.awt.geom.Path2D", + "fields": [ + { + "name": "numTypes" + }, + { + "name": "pointTypes" + }, + { + "name": "windingRule" + } + ] + }, + { + "type": "java.awt.geom.Path2D$Float", + "fields": [ + { + "name": "floatCoords" + } + ] + }, + { + "type": "java.awt.geom.Point2D$Float", + "fields": [ + { + "name": "x" + }, + { + "name": "y" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [ + "float", + "float" + ] + } + ] + }, + { + "type": "java.awt.geom.Rectangle2D$Float", + "fields": [ + { + "name": "height" + }, + { + "name": "width" + }, + { + "name": "x" + }, + { + "name": "y" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [] + }, + { + "name": "", + "parameterTypes": [ + "float", + "float", + "float", + "float" + ] + } + ] + }, + { + "type": "java.awt.image.BufferedImage", + "fields": [ + { + "name": "colorModel" + }, + { + "name": "imageType" + }, + { + "name": "raster" + } + ], + "methods": [ + { + "name": "getRGB", + "parameterTypes": [ + "int", + "int", + "int", + "int", + "int[]", + "int", + "int" + ] + }, + { + "name": "setRGB", + "parameterTypes": [ + "int", + "int", + "int", + "int", + "int[]", + "int", + "int" + ] + } + ] + }, + { + "type": "java.awt.image.ColorModel", + "fields": [ + { + "name": "colorSpace" + }, + { + "name": "colorSpaceType" + }, + { + "name": "isAlphaPremultiplied" + }, + { + "name": "is_sRGB" + }, + { + "name": "nBits" + }, + { + "name": "numComponents" + }, + { + "name": "supportsAlpha" + }, + { + "name": "transparency" + } + ], + "methods": [ + { + "name": "getRGBdefault", + "parameterTypes": [] + } + ] + }, + { + "type": "java.awt.image.DirectColorModel", + "methods": [ + { + "name": "", + "parameterTypes": [ + "int", + "int", + "int", + "int" + ] + } + ] + }, + { + "type": "java.awt.image.IndexColorModel", + "fields": [ + { + "name": "allgrayopaque" + }, + { + "name": "colorData" + }, + { + "name": "lookupcache" + }, + { + "name": "map_size" + }, + { + "name": "rgb" + }, + { + "name": "transparent_index" + } + ] + }, + { + "type": "java.awt.image.Raster", + "fields": [ + { + "name": "dataBuffer" + }, + { + "name": "height" + }, + { + "name": "minX" + }, + { + "name": "minY" + }, + { + "name": "numBands" + }, + { + "name": "numDataElements" + }, + { + "name": "sampleModel" + }, + { + "name": "sampleModelTranslateX" + }, + { + "name": "sampleModelTranslateY" + }, + { + "name": "width" + } + ] + }, + { + "type": "java.awt.image.SampleModel", + "fields": [ + { + "name": "height" + }, + { + "name": "width" + } + ], + "methods": [ + { + "name": "getPixels", + "parameterTypes": [ + "int", + "int", + "int", + "int", + "int[]", + "java.awt.image.DataBuffer" + ] + }, + { + "name": "setPixels", + "parameterTypes": [ + "int", + "int", + "int", + "int", + "int[]", + "java.awt.image.DataBuffer" + ] + } + ] + }, + { + "type": "java.awt.image.SinglePixelPackedSampleModel", + "fields": [ + { + "name": "bitMasks" + }, + { + "name": "bitOffsets" + }, + { + "name": "bitSizes" + }, + { + "name": "maxBitSize" + } + ] + }, + { + "type": "java.io.IOException" + }, + { + "type": "java.io.InputStream", + "methods": [ + { + "name": "read", + "parameterTypes": [ + "byte[]" + ] + } + ] + }, + { + "type": "java.io.OutputStream", + "methods": [ + { + "name": "write", + "parameterTypes": [ + "byte[]", + "int", + "int" + ] + } + ] + }, + { + "type": "java.lang.Boolean", + "methods": [ + { + "name": "getBoolean", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "java.lang.Double", + "methods": [ + { + "name": "valueOf", + "parameterTypes": [ + "double" + ] + } + ] + }, + { + "type": "java.lang.Enum", + "methods": [ + { + "name": "name", + "parameterTypes": [] + } + ] + }, + { + "type": "java.lang.Error" + }, + { + "type": "java.lang.IllegalArgumentException" + }, + { + "type": "java.lang.IllegalStateException" + }, + { + "type": "java.lang.InternalError", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "java.lang.Long", + "methods": [ + { + "name": "valueOf", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "type": "java.lang.NullPointerException" + }, + { + "type": "java.lang.String", + "methods": [ + { + "name": "", + "parameterTypes": [ + "byte[]" + ] + }, + { + "name": "getBytes", + "parameterTypes": [] + } + ] + }, + { + "type": "java.lang.Thread", + "methods": [ + { + "name": "currentThread", + "parameterTypes": [] + } + ] + }, + { + "type": "java.nio.ByteBuffer", + "methods": [ + { + "name": "asReadOnlyBuffer", + "parameterTypes": [] + } + ] + }, + { + "type": "java.util.Locale", + "methods": [ + { + "name": "forLanguageTag", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.JavaFunction", + "methods": [ + { + "name": "invoke", + "parameterTypes": [ + "li.cil.repack.com.naef.jnlua.LuaState" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaError", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String", + "java.lang.Throwable" + ] + }, + { + "name": "setLuaStackTrace", + "parameterTypes": [ + "li.cil.repack.com.naef.jnlua.LuaStackTraceElement[]" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaGcMetamethodException", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaMemoryAllocationException", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaMessageHandlerException", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaRuntimeException", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + }, + { + "name": "setLuaError", + "parameterTypes": [ + "li.cil.repack.com.naef.jnlua.LuaError" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaStackTraceElement", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String", + "java.lang.String", + "int" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaState", + "fields": [ + { + "name": "luaMemoryTotal" + }, + { + "name": "luaMemoryUsed" + }, + { + "name": "luaState" + }, + { + "name": "luaThread" + }, + { + "name": "yield" + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaState$LuaDebug", + "fields": [ + { + "name": "luaDebug" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "boolean" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaStateFiveFour" + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaStateFiveFour$LuaDebug", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "boolean" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaStateFiveThree" + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaStateFiveThree$LuaDebug", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "boolean" + ] + } + ] + }, + { + "type": "li.cil.repack.com.naef.jnlua.LuaSyntaxException", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "ocelot.desktop.OcelotDesktop", + "methods": [ + { + "name": "main", + "parameterTypes": [ + "java.lang.String[]" + ] + } + ] + }, + { + "type": "org.lwjgl.BufferUtils", + "methods": [ + { + "name": "createByteBuffer", + "parameterTypes": [ + "int" + ] + } + ] + }, + { + "type": "org.lwjgl.LWJGLUtil", + "methods": [ + { + "name": "getPrivilegedBoolean", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "org.lwjgl.PointerWrapper", + "methods": [ + { + "name": "getPointer", + "parameterTypes": [] + } + ] + }, + { + "type": "org.lwjgl.opengl.DisplayMode", + "methods": [ + { + "name": "", + "parameterTypes": [ + "int", + "int", + "int", + "int" + ] + } + ] + }, + { + "type": "org.lwjgl.opengl.PixelFormat", + "fields": [ + { + "name": "accum_alpha" + }, + { + "name": "accum_bpp" + }, + { + "name": "alpha" + }, + { + "name": "colorSamples" + }, + { + "name": "depth" + }, + { + "name": "floating_point" + }, + { + "name": "floating_point_packed" + }, + { + "name": "num_aux_buffers" + }, + { + "name": "sRGB" + }, + { + "name": "samples" + }, + { + "name": "stencil" + }, + { + "name": "stereo" + } + ] + }, + { + "type": "org.lwjgl.opengl.WindowsDisplay", + "methods": [ + { + "name": "handleMessage", + "parameterTypes": [ + "long", + "int", + "long", + "long", + "long" + ] + } + ] + }, + { + "type": "sun.awt.AWTAutoShutdown", + "methods": [ + { + "name": "notifyToolkitThreadBusy", + "parameterTypes": [] + }, + { + "name": "notifyToolkitThreadFree", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.awt.EmbeddedFrame" + }, + { + "type": "sun.awt.ExtendedKeyCodes", + "methods": [ + { + "name": "getExtendedKeyCodeForChar", + "parameterTypes": [ + "int" + ] + } + ] + }, + { + "type": "sun.awt.FontDescriptor", + "fields": [ + { + "name": "nativeName" + }, + { + "name": "useUnicode" + } + ] + }, + { + "type": "sun.awt.LightweightFrame" + }, + { + "type": "sun.awt.PlatformFont", + "fields": [ + { + "name": "componentFonts" + }, + { + "name": "fontConfig" + } + ], + "methods": [ + { + "name": "makeConvertedMultiFontString", + "parameterTypes": [ + "java.lang.String" + ] + } + ] + }, + { + "type": "sun.awt.SunHints", + "fields": [ + { + "name": "INTVAL_STROKE_PURE" + } + ] + }, + { + "type": "sun.awt.SunToolkit", + "methods": [ + { + "name": "isTouchKeyboardAutoShowEnabled", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.awt.TimedWindowEvent", + "methods": [ + { + "name": "", + "parameterTypes": [ + "java.awt.Window", + "int", + "java.awt.Window", + "int", + "int", + "long" + ] + } + ] + }, + { + "type": "sun.awt.Win32GraphicsConfig", + "fields": [ + { + "name": "visual" + } + ] + }, + { + "type": "sun.awt.Win32GraphicsDevice", + "fields": [ + { + "name": "dynamicColorModel" + } + ] + }, + { + "type": "sun.awt.Win32GraphicsEnvironment", + "methods": [ + { + "name": "dwmCompositionChanged", + "parameterTypes": [ + "boolean" + ] + } + ] + }, + { + "type": "sun.awt.im.InputMethodWindow" + }, + { + "type": "sun.awt.image.BufImgSurfaceData$ICMColorData", + "fields": [ + { + "name": "pData" + } + ], + "methods": [ + { + "name": "", + "parameterTypes": [ + "long" + ] + } + ] + }, + { + "type": "sun.awt.image.ByteComponentRaster", + "fields": [ + { + "name": "data" + }, + { + "name": "dataOffsets" + }, + { + "name": "pixelStride" + }, + { + "name": "scanlineStride" + }, + { + "name": "type" + } + ] + }, + { + "type": "sun.awt.image.BytePackedRaster", + "fields": [ + { + "name": "data" + }, + { + "name": "dataBitOffset" + }, + { + "name": "pixelBitStride" + }, + { + "name": "scanlineStride" + }, + { + "name": "type" + } + ] + }, + { + "type": "sun.awt.image.IntegerComponentRaster", + "fields": [ + { + "name": "data" + }, + { + "name": "dataOffsets" + }, + { + "name": "pixelStride" + }, + { + "name": "scanlineStride" + }, + { + "name": "type" + } + ] + }, + { + "type": "sun.awt.image.SunVolatileImage", + "fields": [ + { + "name": "volSurfaceManager" + } + ] + }, + { + "type": "sun.awt.image.VolatileSurfaceManager", + "fields": [ + { + "name": "sdCurrent" + } + ] + }, + { + "type": "sun.awt.windows.TranslucentWindowPainter$VIOptWindowPainter$1", + "methods": [ + { + "name": "run", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.awt.windows.WClipboard", + "methods": [ + { + "name": "lostSelectionOwnershipImpl", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.awt.windows.WComponentPeer", + "fields": [ + { + "name": "hwnd" + }, + { + "name": "winGraphicsConfig" + } + ], + "methods": [ + { + "name": "disposeLater", + "parameterTypes": [] + }, + { + "name": "postEvent", + "parameterTypes": [ + "java.awt.AWTEvent" + ] + }, + { + "name": "replaceSurfaceData", + "parameterTypes": [] + }, + { + "name": "replaceSurfaceDataLater", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.awt.windows.WDesktopPeer", + "methods": [ + { + "name": "systemSleepCallback", + "parameterTypes": [ + "boolean" + ] + }, + { + "name": "userSessionCallback", + "parameterTypes": [ + "boolean", + "java.awt.desktop.UserSessionEvent$Reason" + ] + } + ] + }, + { + "type": "sun.awt.windows.WDesktopProperties", + "fields": [ + { + "name": "pData" + } + ], + "methods": [ + { + "name": "setBooleanProperty", + "parameterTypes": [ + "java.lang.String", + "boolean" + ] + }, + { + "name": "setColorProperty", + "parameterTypes": [ + "java.lang.String", + "int", + "int", + "int" + ] + }, + { + "name": "setFontProperty", + "parameterTypes": [ + "java.lang.String", + "java.lang.String", + "int", + "int" + ] + }, + { + "name": "setIntegerProperty", + "parameterTypes": [ + "java.lang.String", + "int" + ] + }, + { + "name": "setSoundProperty", + "parameterTypes": [ + "java.lang.String", + "java.lang.String" + ] + }, + { + "name": "setStringProperty", + "parameterTypes": [ + "java.lang.String", + "java.lang.String" + ] + } + ] + }, + { + "type": "sun.awt.windows.WDialogPeer" + }, + { + "type": "sun.awt.windows.WFontPeer", + "fields": [ + { + "name": "textComponentFontName" + } + ] + }, + { + "type": "sun.awt.windows.WFramePeer", + "methods": [ + { + "name": "getExtendedState", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.awt.windows.WGlobalCursorManager", + "methods": [ + { + "name": "nativeUpdateCursor", + "parameterTypes": [ + "java.awt.Component" + ] + } + ] + }, + { + "type": "sun.awt.windows.WObjectPeer", + "fields": [ + { + "name": "createError" + }, + { + "name": "destroyed" + }, + { + "name": "pData" + }, + { + "name": "target" + } + ], + "methods": [ + { + "name": "getPeerForTarget", + "parameterTypes": [ + "java.lang.Object" + ] + } + ] + }, + { + "type": "sun.awt.windows.WPanelPeer", + "fields": [ + { + "name": "insets_" + } + ] + }, + { + "type": "sun.awt.windows.WToolkit", + "methods": [ + { + "name": "displayChanged", + "parameterTypes": [] + }, + { + "name": "paletteChanged", + "parameterTypes": [] + }, + { + "name": "windowsSettingChange", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.awt.windows.WWindowPeer", + "fields": [ + { + "name": "windowType" + } + ], + "methods": [ + { + "name": "draggedToNewScreen", + "parameterTypes": [] + }, + { + "name": "notifyWindowStateChanged", + "parameterTypes": [ + "int", + "int" + ] + }, + { + "name": "setBackground", + "parameterTypes": [ + "java.awt.Color" + ] + } + ] + }, + { + "type": "sun.font.CharToGlyphMapper", + "methods": [ + { + "name": "charToGlyph", + "parameterTypes": [ + "int" + ] + } + ] + }, + { + "type": "sun.font.Font2D", + "methods": [ + { + "name": "canDisplay", + "parameterTypes": [ + "char" + ] + }, + { + "name": "charToGlyph", + "parameterTypes": [ + "int" + ] + }, + { + "name": "charToVariationGlyph", + "parameterTypes": [ + "int", + "int" + ] + }, + { + "name": "getMapper", + "parameterTypes": [] + }, + { + "name": "getTableBytes", + "parameterTypes": [ + "int" + ] + } + ] + }, + { + "type": "sun.font.FontStrike", + "methods": [ + { + "name": "getGlyphMetrics", + "parameterTypes": [ + "int" + ] + } + ] + }, + { + "type": "sun.font.FontUtilities", + "methods": [ + { + "name": "debugFonts", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.font.FreetypeFontScaler", + "methods": [ + { + "name": "invalidateScaler", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.font.GlyphList", + "fields": [ + { + "name": "gposx" + }, + { + "name": "gposy" + }, + { + "name": "images" + }, + { + "name": "lcdRGBOrder" + }, + { + "name": "lcdSubPixPos" + }, + { + "name": "len" + }, + { + "name": "positions" + }, + { + "name": "usePositions" + } + ] + }, + { + "type": "sun.font.PhysicalStrike", + "fields": [ + { + "name": "pScalerContext" + } + ], + "methods": [ + { + "name": "adjustPoint", + "parameterTypes": [ + "java.awt.geom.Point2D$Float" + ] + }, + { + "name": "getGlyphPoint", + "parameterTypes": [ + "int", + "int" + ] + } + ] + }, + { + "type": "sun.font.StrikeMetrics", + "methods": [ + { + "name": "", + "parameterTypes": [ + "float", + "float", + "float", + "float", + "float", + "float", + "float", + "float", + "float", + "float" + ] + } + ] + }, + { + "type": "sun.font.TrueTypeFont", + "methods": [ + { + "name": "readBlock", + "parameterTypes": [ + "java.nio.ByteBuffer", + "int", + "int" + ] + }, + { + "name": "readBytes", + "parameterTypes": [ + "int", + "int" + ] + } + ] + }, + { + "type": "sun.font.Type1Font", + "methods": [ + { + "name": "readFile", + "parameterTypes": [ + "java.nio.ByteBuffer" + ] + } + ] + }, + { + "type": "sun.instrument.InstrumentationImpl", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "boolean", + "boolean", + "boolean" + ] + }, + { + "name": "loadClassAndCallAgentmain", + "parameterTypes": [ + "java.lang.String", + "java.lang.String" + ] + }, + { + "name": "loadClassAndCallPremain", + "parameterTypes": [ + "java.lang.String", + "java.lang.String" + ] + }, + { + "name": "transform", + "parameterTypes": [ + "java.lang.Module", + "java.lang.ClassLoader", + "java.lang.String", + "java.lang.Class", + "java.security.ProtectionDomain", + "byte[]", + "boolean" + ] + } + ] + }, + { + "type": "sun.java2d.Disposer", + "methods": [ + { + "name": "addRecord", + "parameterTypes": [ + "java.lang.Object", + "long", + "long" + ] + } + ] + }, + { + "type": "sun.java2d.InvalidPipeException" + }, + { + "type": "sun.java2d.NullSurfaceData" + }, + { + "type": "sun.java2d.SunGraphics2D", + "fields": [ + { + "name": "clipRegion" + }, + { + "name": "composite" + }, + { + "name": "eargb" + }, + { + "name": "lcdTextContrast" + }, + { + "name": "pixel" + }, + { + "name": "strokeHint" + } + ] + }, + { + "type": "sun.java2d.SurfaceData", + "fields": [ + { + "name": "pData" + }, + { + "name": "valid" + } + ] + }, + { + "type": "sun.java2d.d3d.D3DGraphicsDevice$1", + "methods": [ + { + "name": "run", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.java2d.d3d.D3DRenderQueue$1", + "methods": [ + { + "name": "run", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.java2d.d3d.D3DSurfaceData", + "fields": [ + { + "name": "nativeHeight" + }, + { + "name": "nativeWidth" + } + ], + "methods": [ + { + "name": "dispose", + "parameterTypes": [ + "long" + ] + }, + { + "name": "setSurfaceLost", + "parameterTypes": [ + "boolean" + ] + } + ] + }, + { + "type": "sun.java2d.d3d.D3DSurfaceData$1", + "methods": [ + { + "name": "run", + "parameterTypes": [] + } + ] + }, + { + "type": "sun.java2d.loops.Blit", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.BlitBg", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.CompositeType", + "fields": [ + { + "name": "AnyAlpha" + }, + { + "name": "Src" + }, + { + "name": "SrcNoEa" + }, + { + "name": "SrcOver" + }, + { + "name": "SrcOverNoEa" + }, + { + "name": "Xor" + } + ] + }, + { + "type": "sun.java2d.loops.DrawGlyphList", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.DrawGlyphListAA", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.DrawGlyphListLCD", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.DrawLine", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.DrawParallelogram", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.DrawPath", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.DrawPolygons", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.DrawRect", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.FillParallelogram", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.FillPath", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.FillRect", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.FillSpans", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.GraphicsPrimitive", + "fields": [ + { + "name": "pNativePrim" + } + ] + }, + { + "type": "sun.java2d.loops.GraphicsPrimitiveMgr", + "methods": [ + { + "name": "register", + "parameterTypes": [ + "sun.java2d.loops.GraphicsPrimitive[]" + ] + } + ] + }, + { + "type": "sun.java2d.loops.MaskBlit", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.MaskFill", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.ScaledBlit", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.SurfaceType", + "fields": [ + { + "name": "Any3Byte" + }, + { + "name": "Any4Byte" + }, + { + "name": "AnyByte" + }, + { + "name": "AnyColor" + }, + { + "name": "AnyInt" + }, + { + "name": "AnyShort" + }, + { + "name": "ByteBinary1Bit" + }, + { + "name": "ByteBinary2Bit" + }, + { + "name": "ByteBinary4Bit" + }, + { + "name": "ByteGray" + }, + { + "name": "ByteIndexed" + }, + { + "name": "ByteIndexedBm" + }, + { + "name": "FourByteAbgr" + }, + { + "name": "FourByteAbgrPre" + }, + { + "name": "Index12Gray" + }, + { + "name": "Index8Gray" + }, + { + "name": "IntArgb" + }, + { + "name": "IntArgbBm" + }, + { + "name": "IntArgbPre" + }, + { + "name": "IntBgr" + }, + { + "name": "IntRgb" + }, + { + "name": "IntRgbx" + }, + { + "name": "OpaqueColor" + }, + { + "name": "ThreeByteBgr" + }, + { + "name": "Ushort4444Argb" + }, + { + "name": "Ushort555Rgb" + }, + { + "name": "Ushort555Rgbx" + }, + { + "name": "Ushort565Rgb" + }, + { + "name": "UshortGray" + }, + { + "name": "UshortIndexed" + } + ] + }, + { + "type": "sun.java2d.loops.TransformHelper", + "methods": [ + { + "name": "", + "parameterTypes": [ + "long", + "sun.java2d.loops.SurfaceType", + "sun.java2d.loops.CompositeType", + "sun.java2d.loops.SurfaceType" + ] + } + ] + }, + { + "type": "sun.java2d.loops.XORComposite", + "fields": [ + { + "name": "alphaMask" + }, + { + "name": "xorColor" + }, + { + "name": "xorPixel" + } + ] + }, + { + "type": "sun.java2d.pipe.Region", + "fields": [ + { + "name": "bands" + }, + { + "name": "endIndex" + }, + { + "name": "hix" + }, + { + "name": "hiy" + }, + { + "name": "lox" + }, + { + "name": "loy" + } + ] + }, + { + "type": "sun.java2d.pipe.RegionIterator", + "fields": [ + { + "name": "curIndex" + }, + { + "name": "numXbands" + }, + { + "name": "region" + } + ] + }, + { + "type": "sun.java2d.windows.WindowsFlags", + "fields": [ + { + "name": "d3dEnabled" + }, + { + "name": "d3dSet" + }, + { + "name": "offscreenSharingEnabled" + }, + { + "name": "setHighDPIAware" + } + ] + }, + { + "type": "sun.launcher.LauncherHelper", + "fields": [ + { + "name": "isStaticMain" + }, + { + "name": "noArgMain" + } + ], + "methods": [ + { + "name": "checkAndLoadMain", + "parameterTypes": [ + "boolean", + "int", + "java.lang.String" + ] + }, + { + "name": "getApplicationClass", + "parameterTypes": [] + }, + { + "name": "makePlatformString", + "parameterTypes": [ + "boolean", + "byte[]" + ] + } + ] + } + ] +} \ No newline at end of file