final class sun.security.ssl.SSLAlgorithmConstraints implements java.security.AlgorithmConstraints
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.SSLAlgorithmConstraints
super_class: java.lang.Object
{
private static final java.security.AlgorithmConstraints tlsDisabledAlgConstraints;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.security.AlgorithmConstraints x509DisabledAlgConstraints;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.security.AlgorithmConstraints userSpecifiedConstraints;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.security.AlgorithmConstraints peerSpecifiedConstraints;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean enabledX509DisabledAlgConstraints;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final java.security.AlgorithmConstraints DEFAULT;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.security.AlgorithmConstraints DEFAULT_SSL_ONLY;
descriptor: Ljava/security/AlgorithmConstraints;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new sun.security.util.DisabledAlgorithmConstraints
dup
ldc "jdk.tls.disabledAlgorithms"
1: new sun.security.ssl.SSLAlgorithmDecomposer
dup
invokespecial sun.security.ssl.SSLAlgorithmDecomposer.<init>:()V
2: invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;Lsun/security/util/AlgorithmDecomposer;)V
3: putstatic sun.security.ssl.SSLAlgorithmConstraints.tlsDisabledAlgConstraints:Ljava/security/AlgorithmConstraints;
4: new sun.security.util.DisabledAlgorithmConstraints
dup
ldc "jdk.certpath.disabledAlgorithms"
5: new sun.security.ssl.SSLAlgorithmDecomposer
dup
iconst_1
invokespecial sun.security.ssl.SSLAlgorithmDecomposer.<init>:(Z)V
6: invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;Lsun/security/util/AlgorithmDecomposer;)V
7: putstatic sun.security.ssl.SSLAlgorithmConstraints.x509DisabledAlgConstraints:Ljava/security/AlgorithmConstraints;
8: new sun.security.ssl.SSLAlgorithmConstraints
dup
aconst_null
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljava/security/AlgorithmConstraints;)V
9: putstatic sun.security.ssl.SSLAlgorithmConstraints.DEFAULT:Ljava/security/AlgorithmConstraints;
10: new sun.security.ssl.SSLAlgorithmConstraints
dup
aconst_null
iconst_0
invokespecial sun.security.ssl.SSLAlgorithmConstraints.<init>:(Ljavax/net/ssl/SSLSocket;Z)V
11: putstatic sun.security.ssl.SSLAlgorithmConstraints.DEFAULT_SSL_ONLY:Ljava/security/AlgorithmConstraints;
12: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.security.AlgorithmConstraints);
descriptor: (Ljava/security/AlgorithmConstraints;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
2: aload 0
aconst_null
putfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
3: aload 0
iconst_1
putfield sun.security.ssl.SSLAlgorithmConstraints.enabledX509DisabledAlgConstraints:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLAlgorithmConstraints;
0 5 1 userSpecifiedConstraints Ljava/security/AlgorithmConstraints;
MethodParameters:
Name Flags
userSpecifiedConstraints
void <init>(javax.net.ssl.SSLSocket, boolean);
descriptor: (Ljavax/net/ssl/SSLSocket;Z)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokestatic sun.security.ssl.SSLAlgorithmConstraints.getConstraints:(Ljavax/net/ssl/SSLSocket;)Ljava/security/AlgorithmConstraints;
putfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
2: aload 0
aconst_null
putfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
3: aload 0
iload 2
putfield sun.security.ssl.SSLAlgorithmConstraints.enabledX509DisabledAlgConstraints:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLAlgorithmConstraints;
0 5 1 socket Ljavax/net/ssl/SSLSocket;
0 5 2 withDefaultCertPathConstraints Z
MethodParameters:
Name Flags
socket
withDefaultCertPathConstraints
void <init>(javax.net.ssl.SSLEngine, boolean);
descriptor: (Ljavax/net/ssl/SSLEngine;Z)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokestatic sun.security.ssl.SSLAlgorithmConstraints.getConstraints:(Ljavax/net/ssl/SSLEngine;)Ljava/security/AlgorithmConstraints;
putfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
2: aload 0
aconst_null
putfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
3: aload 0
iload 2
putfield sun.security.ssl.SSLAlgorithmConstraints.enabledX509DisabledAlgConstraints:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/SSLAlgorithmConstraints;
0 5 1 engine Ljavax/net/ssl/SSLEngine;
0 5 2 withDefaultCertPathConstraints Z
MethodParameters:
Name Flags
engine
withDefaultCertPathConstraints
void <init>(javax.net.ssl.SSLSocket, java.lang.String[], boolean);
descriptor: (Ljavax/net/ssl/SSLSocket;[Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokestatic sun.security.ssl.SSLAlgorithmConstraints.getConstraints:(Ljavax/net/ssl/SSLSocket;)Ljava/security/AlgorithmConstraints;
putfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
2: aload 0
3: new sun.security.ssl.SSLAlgorithmConstraints$SupportedSignatureAlgorithmConstraints
dup
aload 2
invokespecial sun.security.ssl.SSLAlgorithmConstraints$SupportedSignatureAlgorithmConstraints.<init>:([Ljava/lang/String;)V
4: putfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
iload 3
putfield sun.security.ssl.SSLAlgorithmConstraints.enabledX509DisabledAlgConstraints:Z
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLAlgorithmConstraints;
0 7 1 socket Ljavax/net/ssl/SSLSocket;
0 7 2 supportedAlgorithms [Ljava/lang/String;
0 7 3 withDefaultCertPathConstraints Z
MethodParameters:
Name Flags
socket
supportedAlgorithms
withDefaultCertPathConstraints
void <init>(javax.net.ssl.SSLEngine, java.lang.String[], boolean);
descriptor: (Ljavax/net/ssl/SSLEngine;[Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokestatic sun.security.ssl.SSLAlgorithmConstraints.getConstraints:(Ljavax/net/ssl/SSLEngine;)Ljava/security/AlgorithmConstraints;
putfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
2: aload 0
3: new sun.security.ssl.SSLAlgorithmConstraints$SupportedSignatureAlgorithmConstraints
dup
aload 2
invokespecial sun.security.ssl.SSLAlgorithmConstraints$SupportedSignatureAlgorithmConstraints.<init>:([Ljava/lang/String;)V
4: putfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
5: aload 0
iload 3
putfield sun.security.ssl.SSLAlgorithmConstraints.enabledX509DisabledAlgConstraints:Z
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/SSLAlgorithmConstraints;
0 7 1 engine Ljavax/net/ssl/SSLEngine;
0 7 2 supportedAlgorithms [Ljava/lang/String;
0 7 3 withDefaultCertPathConstraints Z
MethodParameters:
Name Flags
engine
supportedAlgorithms
withDefaultCertPathConstraints
private static java.security.AlgorithmConstraints getConstraints(javax.net.ssl.SSLEngine);
descriptor: (Ljavax/net/ssl/SSLEngine;)Ljava/security/AlgorithmConstraints;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnull 7
1: aload 0
instanceof sun.security.ssl.SSLEngineImpl
ifeq 6
2: aload 0
checkcast sun.security.ssl.SSLEngineImpl
getfield sun.security.ssl.SSLEngineImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
3: astore 1
start local 1 4: aload 1
ifnull 7
5: aload 1
getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.algorithmConstraints:Ljava/security/AlgorithmConstraints;
areturn
end local 1 6: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.net.ssl.SSLEngine.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
invokevirtual javax.net.ssl.SSLParameters.getAlgorithmConstraints:()Ljava/security/AlgorithmConstraints;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 engine Ljavax/net/ssl/SSLEngine;
4 6 1 hc Lsun/security/ssl/HandshakeContext;
MethodParameters:
Name Flags
engine
private static java.security.AlgorithmConstraints getConstraints(javax.net.ssl.SSLSocket);
descriptor: (Ljavax/net/ssl/SSLSocket;)Ljava/security/AlgorithmConstraints;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnull 7
1: aload 0
instanceof sun.security.ssl.SSLSocketImpl
ifeq 6
2: aload 0
checkcast sun.security.ssl.SSLSocketImpl
getfield sun.security.ssl.SSLSocketImpl.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.handshakeContext:Lsun/security/ssl/HandshakeContext;
3: astore 1
start local 1 4: aload 1
ifnull 7
5: aload 1
getfield sun.security.ssl.HandshakeContext.sslConfig:Lsun/security/ssl/SSLConfiguration;
getfield sun.security.ssl.SSLConfiguration.algorithmConstraints:Ljava/security/AlgorithmConstraints;
areturn
end local 1 6: StackMap locals:
StackMap stack:
aload 0
invokevirtual javax.net.ssl.SSLSocket.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
invokevirtual javax.net.ssl.SSLParameters.getAlgorithmConstraints:()Ljava/security/AlgorithmConstraints;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 socket Ljavax/net/ssl/SSLSocket;
4 6 1 hc Lsun/security/ssl/HandshakeContext;
MethodParameters:
Name Flags
socket
public boolean permits(java.util.Set<java.security.CryptoPrimitive>, java.lang.String, java.security.AlgorithmParameters);
descriptor: (Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_1
istore 4
start local 4 1: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
ifnull 5
2: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
3: aload 1
aload 2
aload 3
4: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
istore 4
5: StackMap locals: int
StackMap stack:
iload 4
ifeq 9
aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
ifnull 9
6: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
7: aload 1
aload 2
aload 3
8: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
istore 4
9: StackMap locals:
StackMap stack:
iload 4
ifeq 13
10: getstatic sun.security.ssl.SSLAlgorithmConstraints.tlsDisabledAlgConstraints:Ljava/security/AlgorithmConstraints;
11: aload 1
aload 2
aload 3
12: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
istore 4
13: StackMap locals:
StackMap stack:
iload 4
ifeq 17
aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.enabledX509DisabledAlgConstraints:Z
ifeq 17
14: getstatic sun.security.ssl.SSLAlgorithmConstraints.x509DisabledAlgConstraints:Ljava/security/AlgorithmConstraints;
15: aload 1
aload 2
aload 3
16: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
istore 4
17: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/ssl/SSLAlgorithmConstraints;
0 18 1 primitives Ljava/util/Set<Ljava/security/CryptoPrimitive;>;
0 18 2 algorithm Ljava/lang/String;
0 18 3 parameters Ljava/security/AlgorithmParameters;
1 18 4 permitted Z
Signature: (Ljava/util/Set<Ljava/security/CryptoPrimitive;>;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
MethodParameters:
Name Flags
primitives
algorithm
parameters
public boolean permits(java.util.Set<java.security.CryptoPrimitive>, java.security.Key);
descriptor: (Ljava/util/Set;Ljava/security/Key;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iconst_1
istore 3
start local 3 1: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
ifnull 3
2: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
aload 1
aload 2
invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
istore 3
3: StackMap locals: int
StackMap stack:
iload 3
ifeq 5
aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
ifnull 5
4: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
aload 1
aload 2
invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
istore 3
5: StackMap locals:
StackMap stack:
iload 3
ifeq 7
6: getstatic sun.security.ssl.SSLAlgorithmConstraints.tlsDisabledAlgConstraints:Ljava/security/AlgorithmConstraints;
aload 1
aload 2
invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
istore 3
7: StackMap locals:
StackMap stack:
iload 3
ifeq 9
aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.enabledX509DisabledAlgConstraints:Z
ifeq 9
8: getstatic sun.security.ssl.SSLAlgorithmConstraints.x509DisabledAlgConstraints:Ljava/security/AlgorithmConstraints;
aload 1
aload 2
invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
istore 3
9: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/SSLAlgorithmConstraints;
0 10 1 primitives Ljava/util/Set<Ljava/security/CryptoPrimitive;>;
0 10 2 key Ljava/security/Key;
1 10 3 permitted Z
Signature: (Ljava/util/Set<Ljava/security/CryptoPrimitive;>;Ljava/security/Key;)Z
MethodParameters:
Name Flags
primitives
key
public boolean permits(java.util.Set<java.security.CryptoPrimitive>, java.lang.String, java.security.Key, java.security.AlgorithmParameters);
descriptor: (Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_1
istore 5
start local 5 1: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
ifnull 5
2: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.peerSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
3: aload 1
aload 2
aload 3
aload 4
4: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
istore 5
5: StackMap locals: int
StackMap stack:
iload 5
ifeq 9
aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
ifnull 9
6: aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.userSpecifiedConstraints:Ljava/security/AlgorithmConstraints;
7: aload 1
aload 2
aload 3
aload 4
8: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
istore 5
9: StackMap locals:
StackMap stack:
iload 5
ifeq 13
10: getstatic sun.security.ssl.SSLAlgorithmConstraints.tlsDisabledAlgConstraints:Ljava/security/AlgorithmConstraints;
11: aload 1
aload 2
aload 3
aload 4
12: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
istore 5
13: StackMap locals:
StackMap stack:
iload 5
ifeq 17
aload 0
getfield sun.security.ssl.SSLAlgorithmConstraints.enabledX509DisabledAlgConstraints:Z
ifeq 17
14: getstatic sun.security.ssl.SSLAlgorithmConstraints.x509DisabledAlgConstraints:Ljava/security/AlgorithmConstraints;
15: aload 1
aload 2
aload 3
aload 4
16: invokeinterface java.security.AlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
istore 5
17: StackMap locals:
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/ssl/SSLAlgorithmConstraints;
0 18 1 primitives Ljava/util/Set<Ljava/security/CryptoPrimitive;>;
0 18 2 algorithm Ljava/lang/String;
0 18 3 key Ljava/security/Key;
0 18 4 parameters Ljava/security/AlgorithmParameters;
1 18 5 permitted Z
Signature: (Ljava/util/Set<Ljava/security/CryptoPrimitive;>;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
MethodParameters:
Name Flags
primitives
algorithm
key
parameters
}
SourceFile: "SSLAlgorithmConstraints.java"
NestMembers:
sun.security.ssl.SSLAlgorithmConstraints$SupportedSignatureAlgorithmConstraints
InnerClasses:
private SupportedSignatureAlgorithmConstraints = sun.security.ssl.SSLAlgorithmConstraints$SupportedSignatureAlgorithmConstraints of sun.security.ssl.SSLAlgorithmConstraints