Accessibility.Public,
                    DeclarationModifiers.Static,
                    boolType,
                    kind,
                    parameters,
                    [GenerateStatement(generator, kind, thisExpression)]));
            }
        }

        return operators.ToImmutableAndClear();
    }

    private static SyntaxNode GenerateStatement(
        SyntaxGenerator generator, CodeGenerationOperatorKind kind, SyntaxNode leftExpression)
    {
        var zero = generator.LiteralExpression(0);

        var compareToCall = generator.InvocationExpression(
            generator.MemberAccessExpression(leftExpression, nameof(IComparable.CompareTo)),
            generator.IdentifierName(RightName));

        var comparison = kind switch
        {
            CodeGenerationOperatorKind.LessThan => generator.LessThanExpression(compareToCall, zero),
            CodeGenerationOperatorKind.LessThanOrEqual => generator.LessThanOrEqualExpression(compareToCall, zero),
            CodeGenerationOperatorKind.GreaterThan => generator.GreaterThanExpression(compareToCall, zero),
            CodeGenerationOperatorKind.GreaterThanOrEqual => generator.GreaterThanOrEqualExpression(compareToCall, zero),
            _ => throw ExceptionUtilities.Unreachable(),
        };

        return generator.ReturnStatement(comparison);
    }

    private static bool HasAllComparisonOperators(INamedTypeS


-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered JWTAuthenticator  {"name": "test-authenticator"}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered OIDC issuer  {"issuer": "` + issuerURL + `"}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered OIDC audience  {"audience": "test-audience"}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered Concierge namespace for API group suffix  {"apiGroupSuffix": "pinniped.dev"}`,
				}
			},
			wantError: true,
			wantStderr: func(issuerCABundle string, issuerURL string) testutil.RequireErrorStringFunc {
				return testutil.WantExactErrorString(`Error: tried to autodiscover --oidc-ca-bundle, but encountered error getting Secret test-concierge-namespace/my-ca-secret specified by JWTAuthenticator test-authenticator spec.tls.certificateAuthorityDataSource: secrets "my-ca-secret" not found` + "\n")
			},
		},
		{
			name: "autodetect JWT authenticator with CA bundle in ConfigMap, but ConfigMap not found",
			args: func(issuerCABundle string, issuerURL string) []string {
				return []string{
					"--kubeconfig", "./testdata/kubeconfig.yaml",
				}
			},
			conciergeObjects: func(issuerCABundle string, issuerURL string) []runtime.Object {
				return []runtime.Object{
					credentialIssuer(),
					jwtAuthenticatorWithCABundleDataSource("ConfigMap", "my-ca-configmap", "ca.crt", issuerURL),
				}
			},
			apiServiceObjects: []runtime.Object{
				apiService("login.concierge.pinniped.dev", "v1alpha1", "test-concierge-namespace"),
			},
			wantLogs: func(issuerCABundle string, issuerURL string) []string {
				return []string{
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered CredentialIssuer  {"name": "test-credential-issuer"}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered Concierge operating in TokenCredentialRequest API mode`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered Concierge endpoint  {"endpoint": "https://fake-server-url-value"}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered Concierge certificate authority bundle  {"roots": 0}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered JWTAuthenticator  {"name": "test-authenticator"}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered OIDC issuer  {"issuer": "` + issuerURL + `"}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered OIDC audience  {"audience": "test-audience"}`,
					`2099-08-08T13:57:36.123456Z  info  cmd/kubeconfig.go:<line>  discovered Concierge namespace for API group suffix  {"apiGroupSuffix": "pinniped.dev"}


pt 遇到无法回答的或者需要搜索引擎协助回答时从 google 搜索")
                .AddParameter("message", PropertyDefinition.DefineString("搜索句，支持中文或者英文"))
                .Validate()
                .Build();
            var sysKnowledgeSearch = new FunctionDefinitionBuilder("search_knowledge_base", "从知识库中查询或搜索GPT无法得知的内容")
                .AddParameter("message", PropertyDefinition.DefineString("搜索用的关键词，支持中文或者英文"))
                .Validate()
                .Build();
            //查询系统插件
            var systemPlugins = _context.SystemPlugins.Where(x => x.ApiKey == apiKey).ToList();
            foreach (var plugin in systemPlugins)
                if (plugin.Pfunctionname == "use_dalle3_withpr")
                    mytools.Add(ToolDefinition.DefineFunction(fnDall));
                else if (plugin.Pfunctionname == "search_google_when_gpt_cannot_answer")
                    mytools.Add(ToolDefinition.DefineFunction(fnGoogleSearch));
                else if (plugin.Pfunctionname == "search_knowledge_base")
                    mytools.Add(ToolDefinition.DefineFunction(sysKnowledgeSearch));

            //获取用户插件列表
            var myplugins = _workShop.GetPluginInstall(Account);
            if (myplugins != null && myplugins.Count > 0)
                foreach (var pluginitem in myplugins)
                {
                    var functionDefinition = new FunctionDefinition();
                    var myfn = new FunctionDefinitionBuilder(pluginitem.Pfunctionname, pluginitem.Pfunctioninfo);
                    //如果是工作流
                    if (pluginitem.Pcodemodel == "plugin-workflow")
                    {
                        //获取工作流节点数据
                        var nodeData = _context.WorkFlows.Where(x => x.Pcode == pluginitem.Pcode).FirstOrDefault()
                            .FlowJson;
                        //nodeData为空则跳过
                        if (string.IsNullOrEmpty(nodeData))
                            continue;
                        var workFlowNodeData = JsonConvert.DeserializeObject<WorkFlowNodeData>(nodeData);
                        //找到start节点
                        var homeData = workFlowNodeData.Drawflow.Home.Data;
                        var startData = homeData.Values.FirstOrDefault(x => x.Name == "start");
                        //寻找参数
                        if (startData.Data is StartData startDataSpecific)
                        {
                            // 现在startDataSpecific.Output指向StartOutput对象
                            var startOutput = startDataSpecific.Output;

                            if (startOutput != null)
                                // 遍历PrItems
                                foreach (var prItem in startOutput.PrItems)
                                    myfn.AddParameter(prItem.PrName, PropertyDefinition.DefineString(prItem.PrInfo));
                        }
                    }
                    else
                    {
                        var myparams = _workShop.GetPluginParams(pluginitem.Id);
                        if (myparams != null && myparams.Count > 0)
                            foreach (var paramitem in myparams)
                                myfn.AddParameter(paramitem.ParamName,
                                    PropertyDefinition.DefineString(paramitem.ParamInfo));
                    }

                    functionDefinition = myfn.Validate().Build();
                    mytools.Add(ToolDefinition.DefineFunction(functionDefinition));
                }


CommandSVMMemFillKHR

New Types

cl_device_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr

cl_command_<wbr>buffer_<wbr>khr

cl_sync_<wbr>point_<wbr>khr

cl_command_<wbr>buffer_<wbr>info_<wbr>khr

cl_command_<wbr>buffer_<wbr>state_<wbr>khr

cl_command_<wbr>buffer_<wbr>properties_<wbr>khr

cl_command_<wbr>buffer_<wbr>flags_<wbr>khr

cl_command_<wbr>properties_<wbr>khr

cl_mutable_<wbr>command_<wbr>khr

New Enums

cl_device_<wbr>info

CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>CAPABILITIES_<wbr>KHR

CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>REQUIRED_<wbr>QUEUE_<wbr>PROPERTIES_<wbr>KHR

CL_DEVICE_<wbr>COMMAND_<wbr>BUFFER_<wbr>SUPPORTED_<wbr>QUEUE_<wbr>PROPERTIES_<wbr>KHR

cl_device_<wbr>command_<wbr>buffer_<wbr>capabilities_<wbr>khr

CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>KERNEL_<wbr>PRINTF_<wbr>KHR

CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<wbr>DEVICE_<wbr>SIDE_<wbr>ENQUEUE_<wbr>KHR

CL_COMMAND_<wbr>BUFFER_<wbr>CAPABILITY_<w


EC (decode_fec=1), then frame_size needs to be exactly
  *                                 the duration of audio that is missing, otherwise the
  *                                 decoder will not be in the optimal state to decode the
  *                                 next incoming packet. For the PLC and FEC cases, frame_size
  *                                 must be a multiple of 2.5 ms.
  * @param decode_fec <tt>int</tt>: Flag (0 or 1) to request that any in-band
  *                                 forward error correction data be decoded.
  *                                 If no such data is available, the frame is
  *                                 decoded as if it were lost.
  * @returns Number of samples decoded on success or a negative error code
  *          (see @ref opus_errorcodes) on failure.
  */
OPUS_EXPORT OPUS_WARN_UNUSED_RESULT int opus_multistream_decode_float(
    OpusMSDecoder *st,
    const unsigned char *data,
    opus_int32 len,
    float *pcm,
    int frame_size,
    int decode_fec
) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(4);

/** Perform a CTL function on a multistream Opus decoder.
  *
  * Generally the request and subsequent arguments are generated by a
  * convenience macro.
  * @param st <tt>OpusMSDecoder*</tt>: Multistream decoder state.
  * @param request This and all remaining parameters should be replaced by one
  *                of the convenience macros in @ref opus_genericctls,
  *                @ref opus_decoderctls, or @ref opus_multistream_ctls.
  * @see opus_genericctls
  * @see opus_decoderctls
  * @see opus_multistream_ctls
  */
OPUS_EXPORT int opus_multistream_decoder_ctl(OpusMSDecoder *st, int request, ...) OPUS_ARG_NONNULL(1);

/** Frees an OpusMSDecoder allocated by
  * opus_multistream_decoder_create().
  * @param st <tt>OpusMSDecoder</tt>: Multistream decoder state to be freed.
  */
OPUS_EXPORT void opus_multistream_decoder_destroy(OpusMSDecoder *st);

/**@}*/

/**@}*/

#ifdef __cplusplus
}
#endif

#endif /* OPUS_MULTISTREAM_H */


��� 𝐭𝐞𝐚𝐦 connect..',
	'𝕟𝕠 𝕞𝕒𝕥𝕔𝕙 𝕗𝕠𝕣 𝕜𝕦𝕣𝕒𝕔 𝕣𝕖𝕤𝕠𝕝𝕧𝕖𝕣',
	'𝕋𝕙𝕚𝕤 𝕕𝕠𝕘 𝕤𝕠𝕗𝕚 𝕥𝕙𝕚𝕟𝕜 𝕙𝕖 𝕙𝕒𝕤 𝕓𝕖𝕤𝕥 𝕙𝕒𝕔𝕜 𝕓𝕦𝕥 𝕙𝕖 𝕙𝕒𝕤𝕟”𝕥 𝕓𝕖𝕖𝕟 𝕥𝕠 𝕞𝕒𝕝𝕕𝕚𝕧𝕖𝕤 𝕌𝕊𝔸 𝕖𝕤𝕠𝕥𝕒𝕝𝕜𝕚𝕜',
	'𝕚𝕞 𝕒𝕝𝕨𝕒𝕪𝕤 𝟙𝕧𝕤𝟛𝟠 𝕤𝕥𝕒𝕔𝕜 𝕘𝕠𝕠𝕕𝕝𝕖𝕤𝕤 𝕓𝕦𝕥 𝕥𝕙𝕖𝕪 𝕚𝕥𝕤 𝕟𝕠𝕥 𝕨𝕚𝕟 𝕧𝕤 𝕄𝔼',
	'𝕚𝕞 +𝕨 𝕚𝕟𝕥𝕠 𝕪𝕠𝕦 𝕨𝕙𝕖𝕟 𝕚 𝕨𝕒𝕤 𝕣𝕖𝕔𝕚𝕧𝕖𝕕 𝕞𝕖𝕤𝕤𝕒𝕘𝕖 𝕗𝕣𝕠𝕞 𝕖𝕤𝕠𝕥𝕒𝕝𝕚𝕜',
	'𝕘𝕠𝕕 𝕟𝕚𝕘𝕙𝕥 - 𝕗𝕣𝕠𝕞 𝕥𝕙𝕖 𝕘𝕒𝕞𝕖𝕤𝕖𝕟𝕫.𝕦𝕫𝕓𝕖𝕜𝕚𝕤𝕥𝕒𝕟',
	'𝘶𝘯𝘧𝘰𝘳𝘵𝘶


nt(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1));
  background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.1));
  -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
.rangeslider__handle:after {
  /*content: "";
  display: block;
  width: 18px;
  height: 18px;
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuNSIgeTE9IjAuMCIgeDI9IjAuNSIgeTI9IjEuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzAwMDAwMCIgc3RvcC1vcGFjaXR5PSIwLjEzIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjZmZmZmZmIiBzdG9wLW9wYWNpdHk9IjAuMCIvPjwvbGluZWFyR3JhZGllbnQ+PC9kZWZzPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9InVybCgjZ3JhZCkiIC8+PC9zdmc+IA==');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, rgba(0, 0, 0, 0.13)), color-stop(100%, rgba(255, 255, 255, 0)));
  background-image: -moz-linear-gradient(rgba(0, 0, 0, 0.13), rgba(255, 255, 255, 0));
  background-image: -webkit-linear-gradient(rgba(0, 0, 0, 0.13), rgba(255, 255, 255, 0));
  background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(255, 255, 255, 0));
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;*/
}
.rangeslider__handle:active, .rangeslider--active .rangeslider__handle {
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncm


m[re+1],ae=m[re+2],ie=m[re+3],fe=m[re+4],we=m[re+5],Ae=J*u,Fe=R[Ae],Ce=R[Ae+1],qe=we&1,et=!!(we&16),Qe=Q,Ke=ue,Xe=le,Me=j;if(qe&&(Qe=le,Ke=j,Xe=Q,Me=ue),!(we&2&&(ae=S(L,ee,q,ae,Qe,Ke,Ce),q>=ae))&&!(we&4&&(q=M(L,ee,q,ae,Qe,Ke,Fe),q>=ae))){var xe=ae-q,ce=fe-ie;if(et){if(L*xe*(xe+ce)<l){if(X=c.scanComplete(L,ee,N,q,ae,Qe,Ke,ie,fe,Xe,Me),X!==void 0)return X;continue}}else if(L*Math.min(xe,ce)<h){if(X=n(L,ee,N,qe,q,ae,Qe,Ke,ie,fe,Xe,Me),X!==void 0)return X;continue}else if(L*xe*ce<T){if(X=c.scanBipartite(L,ee,N,qe,q,ae,Qe,Ke,ie,fe,Xe,Me),X!==void 0)return X;continue}var Re=y(L,ee,q,ae,Qe,Ke,Fe,Ce);if(q<Re)if(L*(Re-q)<h){if(X=s(L,ee+1,N,q,Re,Qe,Ke,ie,fe,Xe,Me),X!==void 0)return X}else if(ee===L-2){if(qe?X=c.sweepBipartite(L,N,ie,fe,Xe,Me,q,Re,Qe,Ke):X=c.sweepBipartite(L,N,q,Re,Qe,Ke,ie,fe,Xe,Me),X!==void 0)return X}else z(J++,ee+1,q,Re,ie,fe,qe,-1/0,1/0),z(J++,ee+1,ie,fe,q,Re,qe^1,-1/0,1/0);if(Re<ae){var $e=f(L,ee,ie,fe,Xe,Me),rt=Xe[$*$e+ee],Je=b(L,ee,$e,fe,Xe,Me,rt);if(Je<fe&&z(J++,ee,Re,ae,Je,fe,(qe|4)+(et?16:0),rt,Ce),ie<$e&&z(J++,ee,Re,ae,ie,$e,(qe|2)+(et?16:0),Fe,rt),$e+1===Je){if(et?X=B(L,ee,N,Re,ae,Qe,Ke,$e,Xe,Me[$e]):X=F(L,ee,N,qe,Re,ae,Qe,Ke,$e,Xe,Me[$e]),X!==void 0)return X}else if($e<Je){var At;if(et){if(At=_(L,ee,Re,ae,Qe,Ke,rt),Re<At){var St=b(L,ee,Re,At,Qe,Ke,rt);if(ee===L-2){if(Re<St&&(X=c.sweepComplete(L,N,Re,St,Qe,Ke,$e,Je,Xe,Me),X!==void 0)||St<At&&(X=c.sweepBipartite(L,N,St,At,Qe,Ke,$e,Je,Xe,Me),X!==void 0))return X}else Re<St&&z(J+


mf);
}

uint16_t backemf_do_sample(uint8_t pwm_a, uint8_t pwm_b)
// Do one sample of the back EMF
{
    uint8_t emf_charge_time;
    uint8_t n;

    // Disable interrupts.
    cli();

    // Detect the direction of the EMF
    if (pwm_a == 0 && pwm_b > 0)
    {
        // Enable BEMF sample ON
        // Make sure that SMPLn_B (PD4) is held low.
        PORTD &= ~(1<<PD4);
        PORTD |= (1<<PD7);
    }
    else if (pwm_a >0 && pwm_b == 0)
    {
        // Enable BEMF sample ON
        // Make sure that SMPLn_A (PD7) is held low.
        PORTD &= ~(1<<PD7);
        PORTD |= (1<<PD4);
    }

    emf_charge_time = banks_read_byte(CONFIG_BANK, REG_EMF_CHARGE_TIME);
    // Delay to allow the BEMF sample hold circuit to charge to a reasonable level
    for (n=0; n<emf_charge_time; n++)
        _delay_us(38);

    // Enable BEMF sample OFF
    // Make sure that SMPLn_B (PD4) and SMPLn_A (PD7) are held high.
    PORTD |= ((1<<PD4) | (1<<PD7));

    // Enable interrupts here so we dont interrupt the cap charge delay
    sei();

    // Sample the BEMF ADC channel
    adc_start(ADC_CHANNEL_BACKEMF);

    // Wait for the samples to complete
    while(!adc_backemf_value_is_ready())
        ;;

    return (uint16_t) adc_get_backemf_value();
}

void backemf_coast_motor(void)
// Disables the PWM timer to coast the motor
{
    // Disable interrupts.
    cli();

    // Back up the old TCCR1A register configuration for later restore
    previous_tccr1a = TCCR1A;

    // Disable OC1A and OC1B outputs.
    TCCR1A &= ~((1<<COM1A1) | (1<<COM1A0));
    TCCR1A &= ~((1<<COM1B1) | (1<<COM1B0));

    // Restore interrupts.
    sei();
}

void backemf_restore_motor(void)
// Enable the PWM timer
{
    // Disable interrupts.
    cli();

    // ENABLE OC1A and OC1B outputs.
    TCCR1A = previous_tccr1a;

    // Restore interrupts.
    sei();
}

#endif


  line-height: 1;
  letter-spacing: -1px;
  color: inherit;
}

.hero-unit li {
  line-height: 30px;
}

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.hide {
  display: none;
}

.show {
  display: block;
}

.invisible {
  visibility: hidden;
}

.affix {
  position: fixed;
}
/*!
 * # Semantic UI 2.4.0 - Popup
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */.ui.popup{display:none;position:absolute;top:0;right:0;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;z-index:1900;border:1px solid #d4d4d5;line-height:1.4285em;max-width:250px;background:#fff;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.popup>.header{padding:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.14285714em;line-height:1.2;font-weight:700}.ui.popup>.header+.content{padding-top:.5em}.ui.popup:before{position:absolute;content:'';width:.71428571em;height:.71428571em;background:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-shadow:1px 1px 0 0 #bababc;box-shadow:1px 1px 0 0 #bababc}[data-tooltip]{position:relative}[data-tooltip]:before{pointer-events:none;position:absolute;content:'';font-size:1rem;width:.71428571em;height:.71428571em;background:#fff;-webkit-transform:rotate(45deg);transform:rotate(45deg);z-index:2;-webkit-box-shadow:1px 1px 0 0 #bababc;box-shadow:1px 1px 0 0 #bababc}[data-tooltip]:after{pointer-events:none;content:attr(data-tooltip);position:absolute;text-transform:none;text-align:left;white-space:nowrap;font-size:1rem;border:1px solid #d4d4d5;line-height:1.4285em;max-width:none;background:#fff;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);z-index:1}[data-tooltip]:not([data-position]):before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-tooltip]:not([data-position]):after{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:100%;margin-bottom:.5em}[data-tooltip]:after,[data-tooltip]:before{pointer-events:none;visibility:hidden}[data-tooltip]:before{opacity:0;-webkit-transform:rotate(45deg) scale(0)!important;transform:rotate(45deg) scale(0)!important;-webkit-transform-origin:center top;transform-origin:center top;-webkit-transition:all .1s ease;transition:all .1s ease}[data-tooltip]:after{opacity:1;-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-transition:all .


namespace BossMod.Endwalker.Hunt.RankA.Minerva;

public enum OID : uint
{
    Boss = 0x3609, // R6.000, x1
}

public enum AID : uint
{
    AutoAttack = 872,
    AntiPersonnelBuild = 27297, // Boss->self, 5.0s cast, single-target, visual
    RingBuild = 27298, // Boss->self, 5.0s cast, single-target, visual
    BallisticMissileCircle = 27299, // Boss->location, 3.5s cast, range 6 circle
    BallisticMissileDonut = 27300, // Boss->location, 3.5s cast, range 6-20 donut
    Hyperflame = 27301, // Boss->self, 5.0s cast, range 60 60-degree cone
    SonicAmplifier = 27302, // TODO: never seen one...
    HammerKnuckles = 27304, // Boss->player, 5.0s cast, single-target
    BallisticMissileMarkTarget = 27377, // Boss->player, no cast, single-target
    BallisticMissileCircleWarning = 27517, // Boss->player, 6.5s cast, single-target
    BallisticMissileDonutWarning = 27518, // Boss->player, 6.5s cast, single-target
}

class BallisticMissile(BossModule module) : Components.GenericAOEs(module)
{
    private AOEShape? _activeMissile;
    private Actor? _activeTarget;
    private WPos _activeLocation;

    public override IEnumerable<AOEInstance> ActiveAOEs(int slot, Actor actor)
    {
        if (_activeMissile != null)
            yield return new(_activeMissile, _activeTarget?.Position ?? _activeLocation);
    }

    public override void AddGlobalHints(GlobalHints hints)
    {
        if (!(Module.PrimaryActor.CastInfo?.IsSpell() ?? false))
            return;

        string hint = (AID)Module.PrimaryActor.CastInfo.Action.ID switch
        {
            AID.AntiPersonnelBuild or AID.RingBuild => "Select next AOE type",
            AID.BallisticMissileCircleWarning or AID.BallisticMissileDonutWarning => "Select next AOE target",
            _ => "",
        };
        if (hint.Length > 0)
            hints.Add(hint);
    }

    public override void OnCastStarted(Actor caster, ActorCastInfo spell)
    {
        if (caster != Module.PrimaryActor)
            return;
        switch ((AID)spell.Action.ID)
        {


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Copyright by The HDF Group.                                               *
 * Copyright by the Board of Trustees of the University of Illinois.         *
 * All rights reserved.                                                      *
 *                                                                           *
 * This file is part of HDF5.  The full HDF5 copyright notice, including     *
 * terms governing use, modification, and redistribution, is contained in    *
 * the files COPYING and Copyright.html.  COPYING can be found at the root   *
 * of the source code distribution tree; Copyright.html can be found at the  *
 * root level of an installed copy of the electronic HDF5 document set and   *
 * is linked from the top-level documents page.  It can also be found at     *
 * http://hdfgroup.org/HDF5/doc/Copyright.html.  If you do not have          *
 * access to either file, you may request a copy from help@hdfgroup.org.     *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

/*
 * Programmer:  Robb Matzke <matzke@llnl.gov>
 *              Monday, August  2, 1999
 *
 * Purpose:	The public header file for the sec2 driver.
 */
#ifndef H5FDstdio_H
#define H5FDstdio_H

#include "H5Ipublic.h"

#define H5FD_STDIO	(H5FD_stdio_init())

#ifdef __cplusplus
extern "C" {
#endif

H5_DLL hid_t H5FD_stdio_init(void);
H5_DLL void H5FD_stdio_term(void);
H5_DLL herr_t H5Pset_fapl_stdio(hid_t fapl_id);

#ifdef __cplusplus
}
#endif

#endif


row_length(pos)

    if not row_exists then
      vim.api.nvim_buf_set_lines(bufnr, pos.row, pos.row, false, { '' })
    end

    return pos
  end

  local function shift_col_to_line_bounds(pos)
    local row_length = get_row_length(pos)

    if pos.col > row_length then
      return {
        row = pos.row,
        col = row_length - 1,
      }
    end

    return pos
  end

  local target_pos = add_row_if_out_of_bounds(
    shift_col_to_line_bounds(
      shift_row_if_entire_unempty_line({ row = row, col = col })
    )
  )

  local segment = create_segment_at(
    target_pos.row,
    target_pos.col,
    bufnr,
    hl_group,
    M.join_undo
  )

  segments_cache[segment.ext_id] = segment

  return segment
end

--- Returns the most recent segment at the position
function M.query(pos)
  local extmark_details =
    vim.api.nvim_buf_get_extmarks(0, M.ns_id(), 0, -1, { details = true })

  -- iterate backwards so recent markers are higher
  for idx = #extmark_details, 1, -1 do
    local mark = extmark_details[idx]

    local start = {
      row = mark[2],
      col = mark[3],
    }

    local details = mark[4]

    local stop = {
      row = details.end_row,
      col = details.end_col,
    }

    if util.position.is_bounded(pos, start, stop) then
      local ext_id = mark[1]

      local seg = segments_cache[ext_id]

      if seg ~= nil then
        return seg
      end
    end
  end
end

M._debug = {}

function M._debug.extmarks()
  return vim.api.nvim_buf_get_extmarks(0, M.ns_id(), 0, -1, { details = true })
end

return M


AddAlias("ini", "conf")
	is.NotEmpty(Default().AliasMap())
}

func TestJSONDriver(t *testing.T) {
	is := assert.New(t)
	is.Eq("json", JSONDriver.Name())

	// empty
	c := NewEmpty("test")
	is.False(c.HasDecoder(JSON))

	c.AddDriver(JSONDriver)
	is.True(c.HasDecoder(JSON))
	is.True(c.HasEncoder(JSON))
	is.Len(c.DriverNames(), 1)

	is.Eq(byte('.'), c.Options().Delimiter)
	is.Eq(".", string(c.Options().Delimiter))
	c.WithOptions(func(opt *Options) {
		opt.Delimiter = 0
	})
	is.Eq(byte(0), c.Options().Delimiter)

	err := c.LoadStrings(JSON, `{"key": 1}`)
	is.NoErr(err)
	is.Eq(1, c.Int("key"))

	c = NewWith("test", func(c *Config) {
		err = c.LoadData(map[string]any{"key1": 2})
		is.NoErr(err)
	})
	is.Eq(2, c.Int("key1"))

	// test call JSONDriver.Encode
	s := c.ToJSON()
	is.StrContains(s, `{"key1":2}`)

	// set MarshalIndent
	JSONDriver.MarshalIndent = "  "
	s = c.ToJSON()
	is.StrContains(s, `  "key1": 2`)
	JSONDriver.MarshalIndent = "" // reset
}

func TestDriver(t *testing.T) {
	is := assert.New(t)

	c := Default()
	is.True(c.HasDecoder(JSON))
	is.True(c.HasEncoder(JSON))

	c.DelDriver(JSON)
	is.False(c.HasDecoder(JSON))
	is.False(c.HasEncoder(JSON))

	AddDriver(JSONDriver)
	is.True(c.HasDecoder(JSON))
	is.True(c.HasEncoder(JSON))

	c.DelDriver(JSON)
	is.False(c.HasDecoder(JSON))
	is.False(c.HasEncoder(JSON))

	WithDriver(JSONDriver)
	is.True(c.HasDecoder(JSON))
	is.True(c.HasEncoder(JSON))

	c.DelDriver(JSON)

	c.SetDecoders(map[string]Decoder{JSON: JSONDecoder})
	c.SetEncoders(map[string]Encoder{JSON: JSONEncoder})
	is.True(c.HasDecoder(JSON))
	is.True(c.HasEncoder(JSON))
}

func TestStdDriver_methods(t *testing.T) {
	d1 := NewDriver("my001", JSONDecoder, JSONEncoder)
	d1.WithAlias("json")
	assert.Eq(t, "my001", d1.Name())
	assert.Contains(t, d1.Aliases(), "json")

	s := `{"age": 245}`
	m := make(maputil.Map)
	err := d1.Decode([]byte(s), &m)
	assert.NoErr(t, err)

	bs, err := d1.Encode(m)
	assert.NoErr(t, err)
	assert.StrContains(t, string(bs), `{"age":245}`)
}

func TestOptions(t *testing.T) {
	is := assert.New(t)

	// options: ParseEnv
	c := New("test")
	c.WithOptions(ParseEnv)

	is.True(c.Options().ParseEnv)

	err := c.LoadStrings(JSON, jsonStr)
	is.Nil(err)

	str := c.String("name")
	is.Eq("app", str)

	// test: parse env name
	shell := os.Getenv("SHELL")
	// ensure env var is exist
	if shell == "" {
		_ = os.Setenv("SHELL", "/usr/bin/


.startService(intent)
        context!!.bindService(intent, this, Context.BIND_AUTO_CREATE)// 绑定服务
    }

    private lateinit var playContentFragment: PlayContentFragment

    override fun initView(savedInstanceState: Bundle?) {
        iv_play.setOnClickListener(playClick)
        iv_play_bottom.setOnClickListener(playClick)

        playContentFragment = childFragmentManager.findFragmentById(R.id.fragment_play_content) as PlayContentFragment

        val volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)
        val maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
        sb_volume.max = maxVolume
        sb_volume.progress = volume
        sb_volume.setOnSeekBarChangeListener(object : SeekBarChangeListener() {
            override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
                if (!fromUser) return
                audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
                        progress,
                        AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE)
            }
        })

        iv_play_mode.setOnClickListener {
            if (musicBinder == null) return@setOnClickListener

            var mode = musicBinder!!.getPlayMode()
            mode = when (mode) {
                MODE_RANDOM -> MODE_SINGLE
                MODE_SINGLE -> MODE_ORDER
                MODE_ORDER -> MODE_RANDOM
                else -> MODE_RANDOM
            }
            musicBinder!!.updatePlayMode(mode)
            iv_play_mode.setImageResource(getPlayModeDrawRes(mode))
        }

        iv_play_next.setOnClickListener {
            musicBinder?.next()
            miniControlAdapter.nextData()
        }
        iv_play_last.setOnClickListener {
            musicBinder?.last()
            miniControlAdapter.lastData()
        }

        val playListClick = View.OnClickListener {
            val listDialog = PlayListDialog(context!!, musicBinder!!.getPlayList(), musicBinder!!.getPlayIndex())
            listDialog.callback = this@PlayFragment
            listDialog.show()
        }
        iv_play_list.setOnClickListener(playListClick)
        iv_play_bottom_list.setOnClickListener(playListClick)

        // 修改title顶部距离，防止状态栏遮挡
        ll_play_content.setPadding(0, ScreenHelper.getFrameTopMargin(activity), 0, 0)

        sb_progress.setOnSeekBarChangeListener(object : SeekBarChangeListener() {
            override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
                if (musicBinder == null) return
                if (progress == 0 && !fromUser) {
                    tv_now_time.text = 0.toTime()
                    return
                }
                val time = progress2Time(progress)
                tv_now_time.text = time.toTime()
            }

            override fun onStartTrackingTouch(seekBar: SeekBar?) {
                isTouch = true
            }

            override fun onStopTrackingTouch(seekBar: SeekBar?) {
                isTouch = false
                if (musicBinder == null) return

                val progress = seekBar!!.progress
                val time = progress2Time(progress)
                if (time <= musicBinder!!.duration) {
                    musicBinder!!.currentPosition = time.toInt()
                }
            }
        })

        playContentFragment.lrcView.setOnPlayClickListener {
            if (musicBinder == null) return@setOnPlayClickListener false

            val progress = time2Progress(it)
            sb_progress.progress = progress
            musicBinder!!


Zone.UTC))));

        var result = StartPageService.filterForExistingIdAndCapAtMaximum(dto, _2, MAX);
        assertThat(result.isEmpty()).isFalse();
    }

    @Test
    public void testCapAtMaximumMinusOneSoYouCanAddANewElement() {
        var list = List.of(
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "1"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "2"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "3"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "4"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "5"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "6"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "7"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "8"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "9"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "10"), DateTime.now(DateTimeZone.UTC))
        );
        LastOpenedForUserDTO dto = new LastOpenedForUserDTO("userId", list);

        var result = StartPageService.filterForExistingIdAndCapAtMaximum(dto, grnRegistry.newGRN(GRNTypes.DASHBOARD, "11"), MAX);
        assertThat(result.size()).isEqualTo(9);
    }

    @Test
    public void testNotCapAtMaximumMinusOneIfYouAreAtMaxMinusOne() {
        var list = List.of(
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "1"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "2"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "3"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "4"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "5"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "6"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "7"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "8"), DateTime.now(DateTimeZone.UTC)),
                new LastOpenedDTO(grnRegistry.newGRN(GRNTypes.DASHBOARD, "9"), DateTime.now(DateTimeZone.UTC))
        );
        assertThat(list.size()).isEqualTo(MAX-1);
        LastOpenedForUserDTO dto = new LastOpenedForUserDTO("userId", list);

        var result = StartPageService.filterForExistingIdAndCapAtMaximum(dto, grnRegistry.newGRN(GRNTypes.DASHBOARD, "11"), MAX);
        assertThat(result.size()).isEqualTo(MAX-1);
    }


P.getSelectedRow()!= -1){
                this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                Map<String, Object> param = new HashMap<>();
                param.put("namars",akses.getnamars());
                param.put("alamatrs",akses.getalamatrs());
                param.put("kotars",akses.getkabupatenrs());
                param.put("propinsirs",akses.getpropinsirs());
                param.put("kontakrs",akses.getkontakrs());
                param.put("norawat",TNoRw.getText());
                param.put("prb",Sequel.cariIsi("select bpjs_prb.prb from bpjs_prb where bpjs_prb.no_sep=?",tbDataSEP.getValueAt(tbDataSEP.getSelectedRow(),0).toString()));
                param.put("noreg",Sequel.cariIsi("select no_reg from reg_periksa where no_rawat=?",TNoRw.getText()));
                param.put("logo",Sequel.cariGambar("select gambar.bpjs from gambar"));
                param.put("parameter",tbDataSEP.getValueAt(tbDataSEP.getSelectedRow(),0).toString());
                if(JenisPelayanan.getSelectedIndex()==0){
                    Valid.MyReport("rptBridgingSEP5.jasper","report","::[ Cetak SEP ]::",param);
                }else{
                    Valid.MyReport("rptBridgingSEP6.jasper","report","::[ Cetak SEP ]::",param);
                }
                this.setCursor(Cursor.getDefaultCursor());
            }else{
                JOptionPane.showMessageDialog(null,"Maaf, silahkan pilih data SEP yang mau dicetak...!!!!");
                BtnBatal.requestFocus();
            }
        }else if(TabRawat.getSelectedIndex()==2){
            if(tbDataSEPInternal.getSelectedRow()!= -1){
                this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
                Map<String, Object> param = new HashMap<>();
                param.put("namars",akses.getnamars());
                param.put("alamatrs",akses.getalamatrs());
                param.put("kotars",akses.getkabupatenrs());
                param.put("propinsirs",akses.getpropinsirs());
                param.put("kontakrs",akses.getkontakrs());
                param.put("norawat",TNoRw.getText());
                param.put("prb",Sequel.cariIsi("select bpjs_prb.prb from bpjs_prb where bpjs_prb.no_sep=?",tbDataSEPInternal.getValueAt(tbDataSEPInternal.getSelectedRow(),0).toString()));
                param.put("noreg",Sequel.cariIsi("select no_reg from reg_periksa where no_rawat=?",TNoRw.getText()));
                param.put("logo",Sequel.cariGambar("select gambar.bpjs from gambar")); param.put("no_sep",tbDataSEPInternal.getValueAt(tbDataSEPInternal.getSelectedRow(),0).toString());
                param.put("no_sep",tbDataSEPInternal.getValueAt(tbDataSEPInternal.getSelectedRow(),0).toString());
                param.put("noskdp",tbDataSEPInternal.getValueAt(tbDataSEPInternal.getSelectedRow(),43).toString());
                param.put("tglrujukan",tbDataSEPInternal.getValueAt(tbDataSEPInternal.getSelectedRow(),5).toString());
                param.put("kdpolitujuan",tbDataSEPInternal.getValueAt(tbDataSEPInternal.getSelectedRow(),15).toString());
                if(JenisPelayanan.getSelectedIndex()==0){
                    Valid.MyReport("rptBridgingSEPInternal5.


(),
      type = MEDIATYPE_OPDS_JSON_VALUE,
    )

  private fun SeriesDto.toWPLinkDto(): WPLinkDto =
    WPLinkDto(
      title = metadata.title,
      href = uriBuilder("series/$id").toUriString(),
      type = MEDIATYPE_OPDS_JSON_VALUE,
    )

  private fun SeriesCollection.toWPLinkDto(): WPLinkDto =
    WPLinkDto(
      title = name,
      href = uriBuilder("collections/$id").toUriString(),
      type = MEDIATYPE_OPDS_JSON_VALUE,
    )

  private fun ReadList.toWPLinkDto(): WPLinkDto =
    WPLinkDto(
      title = name,
      href = uriBuilder("readlists/$id").toUriString(),
      type = MEDIATYPE_OPDS_JSON_VALUE,
    )
}
package org.gotson.komga.infrastructure.mediacontainer.pdf

import org.apache.pdfbox.Loader
import org.apache.pdfbox.multipdf.PageExtractor
import org.apache.pdfbox.pdmodel.PDPage
import org.apache.pdfbox.rendering.ImageType.RGB
import org.apache.pdfbox.rendering.PDFRenderer
import org.gotson.komga.domain.model.Dimension
import org.gotson.komga.domain.model.MediaContainerEntry
import org.gotson.komga.domain.model.MediaType
import org.gotson.komga.domain.model.TypedBytes
import org.gotson.komga.infrastructure.image.ImageType
import org.springframework.beans.factory.annotation.Qualifier
import org.springframework.stereotype.Service
import java.io.ByteArrayOutputStream
import java.nio.file.Path
import javax.imageio.ImageIO
import kotlin.math.roundToInt

@Service
class PdfExtractor(
  @Qualifier("pdfImageType")
  private val imageType: ImageType,
  @Qualifier("pdfResolution")
  private val resolution: Float,
) {
  fun getPages(
    path: Path,
    analyzeDimensions: Boolean,
  ): List<MediaContainerEntry> =
    Loader.loadPDF(path.toFile()).use { pdf ->
      (0 until pdf.numberOfPages).map { index ->
        val page = pdf.getPage(index)
        val dimension = if (analyzeDimensions) Dimension(page.cropBox.width.roundToInt(), page.cropBox.height.roundToInt()) else null
        MediaContainerEntry(name = "${index + 1}", dimension = dimension)
      }
    }

  fun getPageContentAsImage(
    path: Path,
    pageNumber: Int,
  ): TypedBytes {
    Loader.loadPDF(path.toFile()).use { pdf ->
      val page = pdf.getPage(pageNumber - 1)
      val image = PDFRenderer(pdf).renderImage(pageNumber - 1, page.getScale(), RGB)
      val bytes =
        ByteArrayOutputStream().use { out ->
          ImageIO.write(image, imageType.imageIOFormat, out)
          out.toByteArray()
        }
      return TypedBytes(bytes, imageType.mediaType)
    }
  }

  fun getPageContentAsPdf(
    path: Path,
    pageNumber: Int,
  ): TypedBytes {
    Loader.loadPDF(path.toFile()).use { pdf ->
      val bytes =
        ByteArrayOutputStream().use { out ->
          PageExtractor(pdf, pageNumber, pageNumber).extract().save(out)
          out.toByteArray()
        }
      return TypedBytes(bytes, MediaType.PDF.type)
    }
  }

  private fun PDPage.getScale() = getScale(cropBox.width, cropBox.height)

  private fun getScale(
    width: Float,
    height: Float,
  ) = resolution / minOf(width, height)

  fun scaleDimension(dimension: Dimension): Dimension {
    val scale = getScale(dimension.width.toFloat(), dimension.height.toFloat())
    return Dimension((dimension.width * scale).roundToInt(), (dimension.height * scale


Comments[a].end < this.state.commentPreviousNode.end && (this.state.leadingComments.splice(a, 1), a--);
									}this.state.leadingComments.length > 0 && (e.trailingComments = this.state.leadingComments, this.state.leadingComments = []);
								}
							} else if ("CallExpression" === t.type && t.arguments && t.arguments.length) {
								var p = L(t.arguments);p && h.start >= p.start && h.end <= t.end && this.state.commentPreviousNode && this.state.leadingComments.length > 0 && (p.trailingComments = this.state.leadingComments, this.state.leadingComments = []);
							}
						}if (s) {
							if (s.leadingComments) if (s !== t && s.leadingComments.length > 0 && L(s.leadingComments).end <= t.start) t.leadingComments = s.leadingComments, s.leadingComments = null;else for (r = s.leadingComments.length - 2; r >= 0; --r) {
								if (s.leadingComments[r].end <= t.start) {
									t.leadingComments = s.leadingComments.splice(0, r + 1);break;
								}
							}
						} else if (this.state.leadingComments.length > 0) if (L(this.state.leadingComments).end <= t.start) {
							if (this.state.commentPreviousNode) for (a = 0; a < this.state.leadingComments.length; a++) {
								this.state.leadingComments[a].end < this.state.commentPreviousNode.end && (this.state.leadingComments.splice(a, 1), a--);
							}this.state.leadingComments.length > 0 && (t.leadingComments = this.state.leadingComments, this.state.leadingComments = []);
						} else {
							for (r = 0; r < this.state.leadingComments.length && !(this.state.leadingComments[r].end > t.start); r++) {}var c = this.state.leadingComments.slice(0, r);t.leadingComments = 0 === c.length ? null : c, 0 === (i = this.state.leadingComments.slice(r)).length && (i = null);
						}this.state.commentPreviousNode = t, i && (i.length && i[0].start >= t.start && L(i).end <= t.end ? t.innerComments = i : t.trailingComments = i), n.push(t);
					}
				}, e;
			}(function () {
				function t() {}var e = t.prototype;return e.isReservedWord = function (t) {
					return "await" === t ? this.inModule : l[6](t);
				}, e.hasPlugin = function (t) {
					return !!this.plugins[t];
				}, t;
			}())),
			    M = function () {
				function t() {}var e = t.prototype;return e.init = function (t, e) {
					this.strict = !1 !== t.strictMode && "module" === t.sourceType, this.input = e, this.potentialArrowAt = -1, this.noArrowAt = [], this.noArrowParamsConversionAt = [], this.inMethod = this.inFunction = this.inParameters = this.maybeInArrowParameters = this.inGenerator = this.inAsync = this.inPropertyName = this.inType = this.inClassProperty = this.noAnonFunctionType = !1, this.classLevel = 0, this.labels = [], this.decoratorStack = [[]], this.yieldInPossibleArrowParameters = null, this.tokens = [], this.comments = [], this.trailingComments = [], this.leadingComments = [], this.commentStack = [], this.commentPreviousNode = null, this.pos = this.lineStart = 0, this.curLine = t.startL


 return {relative = "win", row = row, col = wininfo.textoff, width = width, height = height, focusable = false}
end
local function win_callback(winid)
  window["set-opt"](winid, "conceallevel", 2)
  local function _3_()
    return window["close-float"](winid)
  end
  return nvim_create_autocmd("InsertLeave", {callback = _3_, once = true})
end
arglist.show = function(content)
  local lines = ut["text->lines"](content)
  local bufnr = buffer["create-nolisted"](_2bbufname_2b, _2bfiletype_2b)
  local opts = calc_opts({lines = lines})
  buffer["fill!"](bufnr, lines)
  local _4_, _5_ = pbuf["visible?"](bufnr)
  if ((_4_ == true) and (nil ~= _5_)) then
    local winid = _5_
    window["update-win-options"](winid, opts)
    return {winid, bufnr}
  else
    local _ = _4_
    local function _6_(_241)
      return win_callback(_241)
    end
    return {window["open-float"](bufnr, opts, false, false, _6_), bufnr}
  end
end
return arglist


CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=)!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51A351}.toast-error{background-color:#BD362F}.toast-info{background-color:#2F96B4}.toast-warning{background-color:#F89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media all and (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container>div.rtl{padding:8px 50px 8px 8px}#toast-container .toast-close-button{right:-.2em;top:-.2em}#toast-container .rtl .toast-close-button{left:-.2em;right:.2em}}@media all and (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}#toast-container>div.rtl{padding:15px 50px 15px 15px}}
/**
 * Copyright (c) Tiny Technologies, Inc. All rights reserved.
 * Licensed under the LGPL or a commercial license.
 * For LGPL see License.txt in the project root for license information.
 * For commercial licenses see https://www.tiny.c


ccessing Lisp
datastructures from C, because SN has to do significant bookeeping to ensure
the consistency of the C world and the Lisp world.

There are other minor shortcomings such as the fact that numbers in
interpreted code are always double, while they can be of any numerical type in
compiled code. This may cause some functions to behave differently when
interpreted and when compiled.

Lastly, the symbol binding is dynamic in the interpreter, but static
in compiled code. Interestingly enough, the compiler cannot compile code
in which dynamic/static binding lead to different behaviors.

Appendix A: .emacs file

If you intend to use Emacs to edit SN code, the
following lines should be added to your .emacs file:

;; turn on lisp mode when .sn file is loaded
(setq auto-mode-alist
      (append
       (list (cons "\\.sn$"     'lisp-mode))
       auto-mode-alist))
(progn
  (put 'when 'lisp-indent-function 1)
  (put 'ifdef 'lisp-indent-function 2)
  (put 'repeat 'lisp-indent-function 1)
  (put 'selectq 'lisp-indent-function 1)
  (put 'reading 'lisp-indent-function 1)
  (put 'writing 'lisp-indent-function 1)
  (put 'all 'lisp-indent-function 1)
  (put 'each 'lisp-indent-function 1)
  (put 'for 'lisp-indent-function 1)
  (put 'do-while 'lisp-indent-function 1)
  (put 'all-bag 'lisp-indent-function 1)
  (put 'all-nodes 'lisp-indent-function 1)
  (put 'all-downlink 'lisp-indent-function 1)
  (put 'all-uplink 'lisp-indent-function 1)
  (put 'all-miset 'lisp-indent-function 1)
  (put 'idx-bloop 'lisp-indent-function 1)
  (put 'idx-eloop 'lisp-indent-function 1)
  (put 'idx-gloop 'lisp-indent-function 1)
  (put 'cidx-bloop 'lisp-indent-function 1)
  (put 'demethod 'lisp-indent-function 'defun)
  (put 'dfmethod 'lisp-indent-function 'defun)
  (put 'dmmethod 'lisp-indent-function 'defun)
  (put 'reading 'lisp-indent-function 1)
  (put 'writing 'lisp-indent-function 1)
  (put 'cinline-idx1loop 'lisp-indent-function 'defun)
  (put 'cinline-idx1loop2 'lisp-indent-function 'defun)
  (put 'cinline-idx1loop3 'lisp-indent-function 'defun))
;; load hilite/coloring mode
(load "hilit19")
;; a hilite mode for SN
(hilit-set-mode-patterns
 '(lisp-mode)
 '(
   (";.*" nil comment)
   ("#|" "|#" comment)
   (hilit-string-find ?\\ string)

   ("^\\s *(def\\(un\\|macro\\|advice\\|subst\\|method\\)\\s " "\\()\\|nil\\)" defun)
   ("^\\s *(d\\(e\\|f\\|m\\|md\\|mc\\|hm-t\\|hm-c\\|efmethod\\|emethod\\|fmethod\\|mmethod\\)\\s "  "\\()\\|nil\\)" defun)

   ("^\\s *(\\(def\\(var\\|type\\|parameter\\)\\|declare\\)\\s +\\S +" nil decl)
   ("^\\s *(def\\(const\\(ant\\)?\\|class\\|struct\\)\\s \\S +[ \t\n]+\\((\\(([^()]*)\\|[^()]+\\)*)\\)?" nil define)
   ("^\\s *(\\(load\\|mload\\).*$" nil include)
   ("[ \t]\\&\\(key\\|rest


n\n float ndv = clamp(dot(N, V), 0.0, 1.0);\n vec3 fresnelTerm = F_Schlick(ndv, specFactor);\n\n @import ecgl.common.ssaoMap.main\n\n#ifdef AMBIENT_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)\n {{\n diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;\n }}\n#endif\n\n#ifdef AMBIENT_SH_LIGHT_COUNT\n for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)\n {{\n diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;\n }}\n#endif\n\n#ifdef DIRECTIONAL_LIGHT_COUNT\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];\n if(shadowEnabled)\n {\n computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);\n }\n#endif\n for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)\n {{\n vec3 L = -directionalLightDirection[_idx_];\n vec3 lc = directionalLightColor[_idx_];\n\n vec3 H = normalize(L + V);\n float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);\n float ndh = clamp(dot(N, H), 0.0, 1.0);\n\n float shadowContrib = 1.0;\n#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)\n if (shadowEnabled)\n {\n shadowContrib = shadowContribsDir[_idx_];\n }\n#endif\n\n vec3 li = lc * ndl * shadowContrib;\n\n diffuseTerm += li;\n specularTerm += li * fresnelTerm * D_Phong(g, ndh);\n }}\n#endif\n\n\n#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT\n vec3 L = reflect(-V, N);\n L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);\n float rough2 = clamp(1.0 - g, 0.0, 1.0);\n float bias2 = rough2 * 5.0;\n vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;\n vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;\n vec3 envTexel2;\n for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)\n {{\n envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 8.12);\n specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;\n }}\n#endif\n\n gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;\n gl_FragColor.a = albedoColor.a;\n\n#ifdef SRGB_ENCODE\n gl_FragColor = linearTosRGB(gl_FragColor);\n#endif\n\n @import ecgl.common.emissiveLayer.main\n\n @import ecgl.common.wireframe.fragmentMain\n}\n\n@end"},function(e,t,n){"use strict";t["a"]="@export ecgl.hatching.vertex\n\n@import ecgl.realistic.vertex\n\n@end\n\n\n@export ecgl.hatching.fragment\n\n#define NORMAL_UP_AXIS 1\


)
			end
		end
	end
end}):insert()

end

if tm.demoEnt then
	tm.demoEnt:insert()
end

-- Sound

gm.snd = r(BSound())
for i,v in ipairs(tm.au.param) do gm.snd:setParam(i-1,v) end
for i,v in ipairs(tm.au.iparam) do gm.snd:setIparam(i-1,v) end
gm.snd:setVolume(tm.au.volume)
gm.snd:Play(true)


# Copyright 2019-2021 Canaan Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# pylint: disable=invalid-name, unused-argument, import-outside-toplevel

import pytest
import onnx
from onnx import helper
from onnx import AttributeProto, TensorProto, GraphProto
from onnx_test_runner import OnnxTestRunner
import numpy as np

def _make_module(in_shape_list):

    input_names = []
    input_nodes = []
    out = np.ones(1)
    for i, in_shape in enumerate(in_shape_list):
        input_name = 'x{0}'.format(i)
        input_names.append(input_name)
        input_nodes.append(helper.make_tensor_value_info(input_name, TensorProto.FLOAT, in_shape))
        out = out + np.ones(in_shape)

    output = helper.make_tensor_value_info('output', TensorProto.FLOAT, out.shape)

    sum = onnx.helper.make_node(
        'Sum',
        inputs=input_names,
        outputs=['output'],
    )

    graph_def = helper.make_graph(
        [sum],
        'test-model',
        input_nodes,
        [output],
    )

    model_def = helper.make_model(graph_def, producer_name='kendryte')

    return model_def

in_shapes = [
    [[48]],
    [[48], [1]],
    [[1], [48]],
    [[48, 48], [48, 48]],
    [[48, 48], [48]],
    [[48], [48, 48]],
    [[48], [48, 48], [3, 48, 48], ],
    [[48], [48, 48], [1, 3, 48, 48]],
]

@pytest.mark.parametrize('in_shape', in_shapes)
def test_sum(in_shape, request):
    model_def = _make_module(in_shape)

    runner = OnnxTestRunner(request.node.name)
    model_file = runner.from_onnx_helper(model_def)
    runner.run(model_file)

if __name__ == "__main__":
    pytest.main(['-vv', 'test_sum.py'])


Browser' : 'Dart';

  test('Hmac.sha1().toString()', () {
    expect(Hmac.sha1().toString(), '${prefix}Hmac(${prefix}Sha1())');
    expect(DartHmac.sha1().toString(), 'DartHmac(${prefix}Sha1())');
  });

  test('Hmac.sha224().toString()', () {
    // Web Cryptography does not support Sha224
    expect(Hmac(Sha224()).toString(), 'DartHmac(DartSha224())');
    expect(DartHmac.sha224().toString(), 'DartHmac(DartSha224())');
  });

  test('Hmac.sha256().toString()', () {
    expect(Hmac.sha256().toString(), '${prefix}Hmac.sha256()');
    expect(DartHmac.sha256().toString(), 'DartHmac.sha256()');
  });

  test('Hmac.sha384().toString()', () {
    expect(Hmac.sha384().toString(), '${prefix}Hmac(${prefix}Sha384())');
    expect(DartHmac.sha384().toString(), 'DartHmac(${prefix}Sha384())');
  });

  test('Hmac.sha512().toString()', () {
    expect(Hmac.sha512().toString(), '${prefix}Hmac.sha512()');
    expect(DartHmac.sha512().toString(), 'DartHmac.sha512()');
  });

  test('hashAlgorithm', () {
    expect(
      Hmac(Sha224()).hashAlgorithm,
      same(Sha224()),
    );
    expect(
      Hmac(Sha256()).hashAlgorithm,
      same(Sha256()),
    );
  });
}
import 'dart:math';
import 'dart:typed_data';

import 'package:cryptography/cryptography.dart';
import 'package:cryptography/dart.dart';
import 'package:cryptography/helpers.dart';
import 'package:meta/meta.dart';

/// _AES-CBC_ (cipher block chaining mode) [Cipher].
///
/// In browsers, the default implementation will use
/// [Web Cryptography API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API).
/// On other platforms, [DartAesCbc] will be used.
///
/// If you use Flutter, you can enable
/// [cryptography_flutter](https://pub.dev/packages/cryptography_flutter).
/// It can improve performance in many cases.
///
/// ## Things to know
///   * Three possible key lengths:
///     * 128 bits: [AesCbc.with128bits]
///     * 192 bits: [AesCbc.with192bits]
///     * 256 bits: [AesCbc.with256bits]
///   * Nonce is always 16 bytes. If you want to use a nonce with a different
///     length (e.g. 12 bytes), you need to add zero bytes before/after your
///     nonce.
///   * You must choose some [macAlgorithm]. If you are sure that you don't need
///     one, use [MacAlgorithm.empty].
///   * The standard supports any padding, but this uses PKCS7 padding by
///     default (for compatibility with Web Cryptography API).
///
/// ## Example
/// ```dart
/// import 'package:cryptography/cryptography.dart';
///
/// Future<void> main() async {
///   final message = <int>[1,2,3];
///
///   // AES-CBC with 128 bit keys and HMAC-SHA256 authentication.
///   final algorithm = AesCbc.with128bits(
///     macAlgorithm: Hmac.sha256(),
///   );
///   final secretKey = await algorithm.newSecretKey();
///   final nonce = algorithm.newNonce();
///
///   // Encrypt
///   final secretBox = await algorithm.encrypt(
///     message,
///     secretKey: secretKey,
///   );
///   print('Nonce: ${secretBox.nonce}')
///   print('Ciphertext: ${secretBox.cipherText}')
///   print('MAC: ${secretBox.mac.bytes}')
///
///   // Decrypt
///   final clearText = await algorithm.encrypt(
///     secretBox,
///     secretKe


t packages are looked up.
  /// Is `null` if there is no `--packages` flag.
  static String get packageConfig =>
      throw UnsupportedError('Not supported in Node.');

  /// The version of the current Dart runtime.
  ///
  /// The value is a [semantic versioning](http://semver.org)
  /// string representing the version of the current Dart runtime,
  /// possibly followed by whitespace and other version and
  /// build details.
  static String get version => throw UnsupportedError('Not supported in Node.');
}
// Copyright (c) 2017, Anatoly Pulyaevskiy. All rights reserved. Use of this source code
// is governed by a BSD-style license that can be found in the LICENSE file.

import 'dart:io' as io;

import 'package:node_interop/os.dart';
import 'package:node_interop/util.dart';

import 'internet_address.dart';

/// A [NetworkInterface] represents an active network interface on the current
/// system. It contains a list of [InternetAddress]es that are bound to the
/// interface.
abstract class NetworkInterface implements io.NetworkInterface {
  /// Whether [list] is supported.
  static bool get listSupported => true;

  /// Query the system for [NetworkInterface]s.
  // TODO: Implement all named arguments for this method.
  static Future<List<io.NetworkInterface>> list() {
    // ignore: omit_local_variable_types
    final Map<String, Object> data = dartify(os.networkInterfaces());

    var index = 0;
    final result = data.entries
        .map((entry) => _NetworkInterface.fromJS(
            entry.key, index++, List<Map>.from(entry.value as Iterable)))
        .toList(growable: false);

    return Future.value(result);
  }
}

class _NetworkInterface implements io.NetworkInterface {
  @override
  final List<io.InternetAddress> addresses;

  @override
  final int index;

  @override
  final String name;

  factory _NetworkInterface.fromJS(String name, int index, List<Map> data) {
    final addresses = data
        .map((addr) => InternetAddress(addr['address'] as String))
        .toList(growable: false);
    return _NetworkInterface(addresses, index, name);
  }

  _NetworkInterface(this.addresses, this.index, this.name);

  @override
  String toString() {
    return 'NetworkInterface #$index($name, $addresses)';
  }
}
// Copyright (c) 2017, Anatoly Pulyaevskiy. All rights reserved. Use of this source code
// is governed by a BSD-style license that can be found in the LICENSE file.
import 'dart:io' as io;
import 'dart:js_util' as js_util;

import 'package:node_interop/http.dart';
import 'package:node_interop/js.dart';
import 'package:node_interop/util.dart';

/// List of HTTP header names which can only have single value.
const _singleValueHttpHeaders = [
  'age',
  'authorization',
  'content-length',
  'content-type',
  'date',
  'etag',
  'expires',
  'from',
  'host',
  'if-modified-since',
  'if-unmodified-since',
  'last-modified',
  'location',
  'max-forwards',
  'proxy-authorization',
  'referer',
  'retry-after',
  'user-agent',
];

class ResponseHttpHeaders extends HttpHeaders {
  ResponseHttpHeaders(this._nativeResponse);

  final ServerResponse _nativeResponse;

  bool _mutable = true;

  /// Collection of header names set in native response object.
  final Set<String> _headerNames = <String>{};

  void finalize() {
    _mutable = false;
  }

  void _checkMutable() {
    if (_mutable == false) {
      throw io.HttpException('HTTP headers are not mutable.');
    }
  }

  @override
  dynamic _getHeader(String name) => _nativeResponse.getHeader(name);

  @override
  Iterable<String> _getHeaderNames() => _headerNames;

  @override
  void _


using System;
using System.Windows.Forms;
using System.Drawing;

public class GolfGame : Form
{
  private Label clubLabel;
  private Label velocityLabel;
  private Label distanceLabel;
  private Label axesLabel;
  private Label densityLabel;
  private Label windVxLabel;
  private Label windVyLabel;
  private Label rxLabel;
  private Label ryLabel;
  private Label rzLabel;
  private Label spinAxisLabel;

  private TextBox velocityTextBox;
  private TextBox distanceTextBox;
  private TextBox densityTextBox;
  private TextBox windVxTextBox;
  private TextBox windVyTextBox;
  private TextBox rxTextBox;
  private TextBox ryTextBox;
  private TextBox rzTextBox;

  private ComboBox axesComboBox;
  private ComboBox clubComboBox;

  private Button fireButton;
  private Button resetButton;

  private Panel drawingPanel;

  //  This field is for the images used in the game.
  private Image golferIcon;
  private Image flagIcon;

  //  The Timer is used to control the execution speed
  //  of the game.
  private Timer gameTimer;

  //  Declare a GolfBall object
  private GolfBall golfball;

  //  The player can control the distance to the hole.
  private double distanceToHole;

  public GolfGame() {

    //  Create a GolfBall object with default values
    //  so the display can be updated the first time.
    golfball =
        new GolfBall(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                           0.0459, 0.001432, 0.5, 1.225, 0.0, 0.0,
                           0.0, 1.0, 0.0, 300.0, 0.02135);

    //  Set up images
    golferIcon = Image.FromFile("Golfer.jpg");
    flagIcon = Image.FromFile("Hole_Cartoon.jpg");

    //  Initialize the distanceToHole field.
    distanceToHole = 200.0;

    //  Create a Timer object that will be used
    //  to slow the action down.
    gameTimer = new Timer();
    gameTimer.Interval = 50;  //  delay in milliseconds.
    gameTimer.Tick += new EventHandler(ActionPerformed);

    //  Create some Labels
    clubLabel = new Label();
    clubLabel.Text = "Club";
    clubLabel.Font = new Font(clubLabel.Font, FontStyle.Bold);
    clubLabel.Top = 20;
    clubLabel.Left = 10;
    clubLabel.Width = 50;

    velocityLabel = new Label();
    velocityLabel.Text = "Impact velocity, m/s";
    velocityLabel.Font = new Font(velocityLabel.Font, FontStyle.Bold);
    velocityLabel.Top = 50;
    velocityLabel.Left = 10;
    velocityLabel.Width = 120;

    distanceLabel = new Label();
    distanceLabel.Text = "Distance to hole, m";
    distanceLabel.Font = new Font(distanceLabel.Font, FontStyle.Bold);
    distanceLabel.Top = 80;
    distanceLabel.Left = 10;
    distanceLabel.Width = 120;

    axesLabel = new Label();
    axesLabel.Text = "View axes";
    axesLabel.Font = new Font(axesLabel.Font, FontStyle.Bold);
    axesLabel.Top = 110;
    axesLabel.Left = 10;
    axesLabel.Width = 70;

    densityLabel = new Label();
    densityLabel.Text = "density, kg/m^3";
    densityLabel.Font = new Font(densityLabel.Font, FontStyle.Bold);
    densityLabel.Top = 20;
    densityLabel.Left = 220;
    densityLabel.Width = 110;

    windVxLabel = new Label();
    windVxLabel.Text = "


rt>

std::deque<int>
make(int size, int start = 0 )
{
    const int b = 4096 / sizeof(int);
    int init = 0;
    if (start > 0)
    {
        init = (start+1) / b + ((start+1) % b != 0);
        init *= b;
        --init;
    }
    std::deque<int> c(init, 0);
    for (int i = 0; i < init-start; ++i)
        c.pop_back();
    for (int i = 0; i < size; ++i)
        c.push_back(i);
    for (int i = 0; i < start; ++i)
        c.pop_front();
    return c;
};

void
test(std::deque<int>& c1, int size, int x)
{
    typedef std::deque<int> C;
    typedef C::const_iterator CI;
    std::size_t c1_osize = c1.size();
    c1.resize(size, x);
    assert(c1.size() == size);
    assert(distance(c1.begin(), c1.end()) == c1.size());
    CI i = c1.begin();
    for (int j = 0; j < std::min(c1_osize, c1.size()); ++j, ++i)
        assert(*i == j);
    for (int j = c1_osize; j < c1.size(); ++j, ++i)
        assert(*i == x);
}

void
testN(int start, int N, int M)
{
    typedef std::deque<int> C;
    typedef C::const_iterator CI;
    C c1 = make(N, start);
    test(c1, M, -10);
}

int main()
{
    int rng[] = {0, 1, 2, 3, 1023, 1024, 1025, 2047, 2048, 2049};
    const int N = sizeof(rng)/sizeof(rng[0]);
    for (int i = 0; i < N; ++i)
        for (int j = 0; j < N; ++j)
            for (int k = 0; k < N; ++k)
                testN(rng[i], rng[j], rng[k]);
}
//===----------------------------------------------------------------------===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is dual licensed under the MIT and the University of Illinois Open
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

// <forward_list>

// template <class T, class Allocator>
//     void swap(forward_list<T, Allocator>& x, forward_list<T, Allocator>& y);

#include <forward_list>
#include <cassert>

#include "../../../test_allocator.h"

int main()
{
    {
        typedef int T;
        typedef test_allocator<T> A;
        typedef std::forward_list<T, A> C;
        const T t1[] = {0, 1, 2, 3, 4, 5};
        C c1(std::begin(t1), std::end(t1), A(1));
        const T t2[] = {10, 11, 12};
        C c2(std::begin(t2), std::end(t2), A(2));
        swap(c1, c2);

        assert(distance(c1.begin(), c1.end()) == 3);
        assert(*next(c1.begin(), 0) == 10);
        assert(*next(c1.begin(), 1) == 11);
        assert(*next(c1.begin(), 2) == 12);
        assert(c1.get_allocator() == A(1));

        assert(distance(c2.begin(), c2.end()) == 6);
        assert(*next(c2.begin(), 0) == 0);
        assert(*next(c2.begin(), 1) == 1);
        assert(*next(c2.begin(), 2) == 2);
        assert(*next(


x, (int) dim.y, false, false, false, false, "");
		}

		/**
		 * As 4 grid.
		 *
		 * @param scope
		 *            the scope
		 * @param g
		 *            the g
		 * @param dim
		 *            the dim
		 * @return the i matrix
		 * @throws GamaRuntimeException
		 *             the gama runtime exception
		 */
		@operator (
				value = "as_4_grid",
				content_type = IType.GEOMETRY,
				category = { IOperatorCategory.SPATIAL, IOperatorCategory.SP_TRANSFORMATIONS, IOperatorCategory.GRID },
				concept = { IConcept.GEOMETRY, IConcept.SPATIAL_COMPUTATION, IConcept.SPATIAL_TRANSFORMATION,
						IConcept.GRID })
		@doc (
				value = "A matrix of square geometries (grid with 4-neighborhood) with dimension given by the right-hand operand ({nb_cols, nb_lines}) corresponding to the square tessellation of the left-hand operand geometry (geometry, agent)",
				examples = { @example (
						value = "self as_4_grid {10, 5}",
						equals = "the matrix of square geometries (grid with 4-neighborhood) with 10 columns and 5 lines corresponding to the square tessellation of the geometry of the agent applying the operator.",
						test = false) },
				see = { "as_grid", "as_hexagonal_grid" })
		@no_test
		public static IMatrix as_4_grid(final IScope scope, final IShape g, final GamaPoint dim)
				throws GamaRuntimeException {
			// cols, rows
			return new GamaSpatialMatrix(scope, g, (int) dim.x, (int) dim.y, false, true, false, false, "");
		}

		/**
		 * Split geometries.
		 *
		 * @param scope
		 *            the scope
		 * @param geom
		 *            the geom
		 * @param rates
		 *            the rates
		 * @return the i list
		 */
		@operator (
				value = "to_sub_geometries",
				content_type = IType.GEOMETRY,
				category = { IOperatorCategory.SPATIAL, IOperatorCategory.SP_TRANSFORMATIONS },
				concept = { IConcept.GEOMETRY, IConcept.SPATIAL_COMPUTATION, IConcept.SPATIAL_TRANSFORMATION })
		@doc (
				value = "A list of geometries resulting after spliting the geometry into sub-geometries.",
				masterDoc = true,
				examples = { @example (
						value = "to_sub_geometries(rectangle(10, 50), [0.1, 0.5, 0.4])",
						equals = "a list of three geometries corresponding to 3 sub-geometries",
						test = false) })
		@test ("length(to_sub_geometries(rectangle(10, 50), [0.1, 0.5, 0.4])) = 3")
		public static IList<IShape> splitGeometries(final IScope scope, final IShape geom, final IList<Double> rates) {
			if (geom == null) return GamaListFactory.create(Types.GEOMETRY);

			final double dimension = geom.getArea() / 2000.0;
			return splitGeometries(scope, geom, rates, dimension);
		}

		/**
		 * Split geometries.
		 *
		 * @param scope
		 *            the scope
		 * @param geom
		 *            the geom
		 * @param rates
		 *            the rates
		 * @param dimension
		 *            the dimension
		 * @return the i list
		 * @throws GamaRuntimeException
		 *             the gama runtime exception
		 */
		@operator (
				value = "to_sub_geometries",
				content_type = IType.GEOMETRY,
				category = { IOperatorCategory.SPATIAL, IOperatorCategory.SP_TRANSFORMATIONS },
				c


) {
		return tuple.At(i).Type()
	}
	return tInvalid
}

func (f *Finder) valueSpec(spec *ast.ValueSpec) {
	var T types.Type
	if spec.Type != nil {
		T = f.info.Types[spec.Type].Type
	}
	switch len(spec.Values) {
	case len(spec.Names): // e.g. var x, y = f(), g()
		for _, value := range spec.Values {
			v := f.expr(value)
			if T != nil {
				f.assign(T, v)
			}
		}

	case 1: // e.g. var x, y = f()
		tuple := f.exprN(spec.Values[0])
		for i := range spec.Names {
			if T != nil {
				f.assign(T, f.extract(tuple, i))
			}
		}
	}
}

// assign records pairs of distinct types that are related by
// assignability, where the left-hand side is an interface and both
// sides have methods.
//
// It should be called for all assignability checks, type assertions,
// explicit conversions and comparisons between two types, unless the
// types are uninteresting (e.g. lhs is a concrete type, or the empty
// interface; rhs has no methods).
//
func (f *Finder) assign(lhs, rhs types.Type) {
	if types.Identical(lhs, rhs) {
		return
	}
	if !isInterface(lhs) {
		return
	}

	if f.msetcache.MethodSet(lhs).Len() == 0 {
		return
	}
	if f.msetcache.MethodSet(rhs).Len() == 0 {
		return
	}
	// record the pair
	f.Result[Constraint{lhs, rhs}] = true
}

// typeAssert must be called for each type assertion x.(T) where x has
// interface type I.
func (f *Finder) typeAssert(I, T types.Type) {
	// Type assertions are slightly subtle, because they are allowed
	// to be "impossible", e.g.
	//
	// 	var x interface{f()}
	//	_ = x.(interface{f()int}) // legal
	//
	// (In hindsight, the language spec should probably not have
	// allowed this, but it's too late to fix now.)
	//
	// This means that a type assert from I to T isn't exactly a
	// constraint that T is assignable to I, but for a refactoring
	// tool it is a conditional constraint that, if T is assignable
	// to I before a refactoring, it should remain so after.

	if types.AssignableTo(T, I) {
		f.assign(I, T)
	}
}

// compare must be called for each comparison x==y.
func (f *Finder) compare(x, y types.Type) {
	if types.AssignableTo(x, y) {
		f.assign(y, x)
	} else if types.AssignableTo(y, x) {
		f.assign(x, y)
	}
}

// expr visits a true expression (not a type or defining ident)
// and returns its type.
func (f *Finder) expr(e ast.Expr) types.Type {
	tv := f.info.Types[e]
	if tv.Value != nil {
		return tv.Type // prune the descent for constants
	}

	// tv.Type may be nil for an ast.Ident.

	switch e := e.(type) {
	case *ast.BadExpr, *ast.BasicLit:
		// no-op

	case *ast.Ident:
		// (referring idents only)
		if obj, ok := f.info.Uses[e]; ok {
			return obj.Type()
		}
		if e


s.eot?42479262#iefix') format('embedded-opentype'),
       url('../font/unicons.woff2?42479262') format('woff2'),
       url('../font/unicons.woff?42479262') format('woff'),
       url('../font/unicons.ttf?42479262') format('truetype'),
       url('../font/unicons.svg?42479262#unicons') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'unicons';
    src: url('../font/unicons.svg?42479262#unicons') format('svg');
  }
}
*/

 [class^="uil-"]:before, [class*=" uil-"]:before {
  font-family: "unicons";
  font-style: normal;
  font-weight: normal;
  speak: none;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}

.uil-abacus:before { content: '\e800'; } /* '' */
.uil-accessible-icon-alt:before { content: '\e801'; } /* '' */
.uil-adjust-alt:before { content: '\e802'; } /* '' */
.uil-adjust-circle:before { content: '\e803'; } /* '' */
.uil-adjust-half:before { content: '\e804'; } /* '' */
.uil-adjust:before { content: '\e805'; } /* '' */
.uil-airplay:before { content: '\e806'; } /* '' */
.uil-align-alt:before { content: '\e807'; } /* '' */
.uil-align-center-alt:before { content: '\e808'; } /* '' */
.uil-align-center-h:before { content: '\e809'; } /* '' */
.uil-align-center-justify:before { content: '\e80a'; } /* '' */
.uil-align-center-v:before { content: '\e80b'; } /* '' */
.uil-align-center:before { content: '\e80c'; } /* '' */
.uil-align-justify:before { content: '\e80d'; } /* '' */
.uil-align-left-justify:before { content: '\e80e'; } /* '' */
.uil-align-left:before { content: '\e80f'; }


on } from 'chalk';

import { IComponent, ComponentType, IComponentProps } from '../types';
import { MAX_PREFIX_LENGTH } from './constants';

interface IPrefixDetails {

  name: string;
  decorate: ChalkFunction
}

const messagePrefixMap = new Map<ComponentType, IPrefixDetails>();
messagePrefixMap.set(ComponentType.App, { name: 'App', decorate: chalk.whiteBright });
messagePrefixMap.set(ComponentType.Board, { name: 'Board', decorate: chalk.green });
messagePrefixMap.set(ComponentType.Layout, { name: 'Layout', decorate: chalk.magenta });
messagePrefixMap.set(ComponentType.Sensor, { name: 'Sensor', decorate: chalk.yellow });
messagePrefixMap.set(ComponentType.TrackSwitch, { name: 'Track Switch', decorate: chalk.blue });
messagePrefixMap.set(ComponentType.Train, { name: 'Train', decorate: chalk.cyan });

abstract class Component implements IComponent {

  private _id: number;
  private _type: ComponentType;
  protected _isDummy: boolean;
  protected _messagePrefix: string;

  constructor({ id, isDummy, name }: IComponentProps, type: ComponentType) {

    this._id = id;
    this._type = type;
    this._isDummy = isDummy;
    this._messagePrefix = name || `${messagePrefixMap.get(type).name} ${id}`;
  }

  get id(): number {

    return this._id;
  }

  get type(): ComponentType {

    return this._type;
  }

  protected log(message: string) {

    const { decorate } = messagePrefixMap.get(this._type);
    const prefix = this._messagePrefix
                       .toUpperCase()
                       .replace(' ', '_')
                       .padStart(MAX_PREFIX_LENGTH);

    console.log(`[${decorate(prefix)}] ${(message)}`);
  }
}

export default Component;
export interface ViewportInfo {
  windowWidth: number,
  windowHeight: number,
  documentWidth: number,
  documentHeight: number,
  scrollbarWidth: number,
  breakpoint: string
}

export default ({ store }) => {
  // Resize. The reason for iframe usage is window resize event, that doesn't fire if
  // vertical scrollbar appears and this causes problems time after time
  const iframe = document.createElement('iframe')

  iframe.setAttribute('id', '_resizeTrigger')
  iframe.setAttribute('style', 'position: absolute; z-index: -9999; visibility: hidden; width: 100%; min-height: 100%; height: auto; top: 0; border: none;')
  document.body.appendChild(iframe)
  iframe.contentWindow.addEventListener('resize', sizeHandler)

  function sizeHandler() {
    const queriesAll = Object.entries(store.state.ui.grid.queries)
    const queriesCurrent = queriesAll.filter((query: any) => window.matchMedia(query[1]).matches)
    const breakpoint = queriesCurrent.find(rule => rule[0].length === 2)[0]
    const { offsetWidth, offsetHeight } = document.documentElement as HTMLElement
    const { innerWidth, innerHeight } = window as Window
    const scrollbarWidth = innerWidth - offsetWidth

    const viewportInfo: ViewportInfo = {
      windowWidth: innerWidth,
      windowHeight: innerHeight,
      documentWidth: offsetWidth,
      documentHeight: offset


BorderArea
import de.bixilon.minosoft.protocol.network.session.play.PlaySession
import de.bixilon.minosoft.protocol.protocol.buffers.play.PlayInByteBuffer
import de.bixilon.minosoft.util.logging.Log
import de.bixilon.minosoft.util.logging.LogLevels
import de.bixilon.minosoft.util.logging.LogMessageType

class SizeWorldBorderS2CP(buffer: PlayInByteBuffer) : WorldBorderS2CP {
    val radius = buffer.readDouble() / 2.0

    override fun handle(session: PlaySession) {
        session.world.border.area = StaticBorderArea(radius)
    }

    override fun log(reducedLog: Boolean) {
        Log.log(LogMessageType.NETWORK_IN, level = LogLevels.VERBOSE) { "Size set world border (radius=$radius)" }
    }
}
/*
 * Minosoft
 * Copyright (C) 2020-2023 Moritz Zwerger
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
 *
 * This software is not affiliated with Mojang AB, the original developer of Minecraft.
 */

package de.bixilon.minosoft.protocol.packets.s2c.play.bossbar

import de.bixilon.kutil.enums.EnumUtil
import de.bixilon.kutil.enums.ValuesEnum
import de.bixilon.minosoft.protocol.packets.registry.factory.PlayPacketFactory
import de.bixilon.minosoft.protocol.protocol.buffers.play.PlayInByteBuffer

object BossbarS2CF : PlayPacketFactory {

    override fun create(buffer: PlayInByteBuffer): BossbarS2CP {
        val uuid = buffer.readUUID()
        return when (BossbarActions[buffer.readVarInt()]) {
            BossbarActions.ADD -> AddBossbarS2CP(uuid, buffer)
            BossbarActions.REMOVE -> RemoveBossbarS2CP(uuid)
            BossbarActions.SET_VALUE -> ValueBossbarS2CP(uuid, buffer)
            BossbarActions.SET_TITLE -> TitleBossbarS2CP(uuid, buffer)
            BossbarActions.SET_STYLE -> StyleBossbarS2CP(uuid, buffer)
            BossbarActions.SET_FLAGS -> FlagsBossbarS2CP(uuid, buffer)
        }
    }

    enum class BossbarActions {
        ADD,
        REMOVE,
        SET_VALUE,
        SET_TITLE,
        SET_STYLE,
        SET_FLAGS,
        ;

        companion object : ValuesEnum<BossbarActions> {
            override val VALUES = values()
            override val NAME_MAP: Map<String, BossbarActions> = EnumUtil.getEnumValues(VALUES)
        }
    }
}
/*
 * Minosoft
 * Copyright (C) 2020-2023 Moritz Zwerger
 *
 * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License along with this program.


sserts that the type does **not** implement _any_ of the given traits.
///
/// This macro has been deprecated in favor of
/// [`assert_impl_not_any!`](macro.assert_impl_not_any.html).
#[deprecated(
    since = "1.2.0",
    note = "Please use the 'assert_impl_not_any' macro instead"
)]
#[macro_export(local_inner_macros)]
macro_rules! assert_not_impl_any {
    ($($t:tt)*) => {
        assert_impl_not_any!($($t)*);
    };
}

/// Asserts that the type implements a logical trait expression.
///
/// This macro causes a compilation failure if the expression is not satisfied.
///
/// See [`does_impl!`](macro.does_impl.html) for simply getting a [`bool`] from
/// this condition without asserting it.
///
/// # Syntax
///
/// ```skip
/// assert_impl!(<type>: <trait_expr>);
/// assert_impl!(for(<type>: <bounds>) <type>: <trait_expr>);
/// ```
///
/// where:
///
/// - `<type>` is a type (that must not depend on a generic parameter)
///
/// - `<trait_expr>` is an expression made out of trait names, combined with `!`
///   for negation, `&` for conjunction, `|` for disjunction and parentheses for
///   grouping.
///
/// - `<bounds>` is a trait bounds expression.
///
/// For technical reasons:
///
/// - Traits (like `Into<u8>`) that are not a single identifier must be
///   surrounded by parentheses.
///
/// - The usual operator priority is not respected: `x & y | z` is parsed as
///   `x & (y | z)`.
///
/// # Examples
///
/// If `u32` were to implement `Into` conversions for `usize` _and_ for `u8`,
/// the following would fail to compile:
///
/// ```
/// # #[macro_use] extern crate static_assertions; fn main() {}
/// assert_impl!(u32: !((Into<usize>) & (Into<u8>)));
/// ```
///
/// Check that a type is [`Send`] but not [`Sync`].
///
/// ```
/// # #[macro_use] extern crate static_assertions; fn main() {}
/// use std::cell::Cell;
///
/// assert_impl!(Cell<u32>: Send & !Sync);
/// ```
///
/// Check simple one-off cases:
///
/// ```
/// # #[macro_use] extern crate static_assertions; fn main() {}
/// assert_impl!(&'static mut u8: !Copy);
/// ```
///
/// Check that a type is _always_ [`Clone`] even when its parameter isn't:
///
/// ```
/// # #[macro_use] extern crate static_assertions; fn main() {}
/// use std::rc::Rc;
///
/// assert_impl!(for(T) Rc<T>: Clone);
/// ```
///
/// The following example fails to compile since `u64` cannot be converted into
/// either `u32` or `u16`:
///
/// ```compile_fail
/// # #[macro_use] extern crate static_assertions; fn main() {}
/// assert_impl!(u64: (Into<u32>) | (Into<u16>));
/// ```
///
/// [`bool`]: https://doc.rust-lang.org/std/primitive.bool.html
/// [`Send`]: https://doc.rust-lang.org/std/marker/trait.Send.html
/// [`Sync`]: https://doc.rust-lang.org/std/marker/trait.Sync.html
/// [`Clone`]: https://doc.rust-lang.org/std/clone/trait.Clone.html
#[macro_export(local_inner_macros)]
macro_rules! assert_impl {
    (for($($generic:tt)*) $ty:


-- Submodule for node related operations.
local network = require 'concurrent.distributed.network'
local concurrent

local node = {}

node.nodemonitors = {}          -- Nodes monitoring the node.

-- Returns the node's name.
function node.node()
    return network.nodename
end

-- Returns a table with the names of the nodes that the node is connected to.
function node.nodes()
    local t = {}
    for k, _ in pairs(network.connections) do table.insert(t, k) end
    return t
end

-- Returns a true if the node has been initialized or false otherwise.
function node.isnodealive()
    concurrent = concurrent or require 'concurrent'
    return concurrent.node() ~= nil
end

-- Starts monitoring the specified node.
function node.monitornode(name)
    concurrent = concurrent or require 'concurrent'
    local s = concurrent.self()
    if not node.nodemonitors[s] then node.nodemonitors[s] = {} end
    table.insert(node.nodemonitors[s], name)
end

-- Stops monitoring the specified node.
function node.demonitornode(


edToRetire.GetDevicesScheduledToRetireRequestBuilder(rawUrl, RequestAdapter);
        }
        ///
        /// Invoke function getDevicesScheduledToRetire
        ///
        [global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
        public partial class GetDevicesScheduledToRetireRequestBuilderGetQueryParameters
        {
            /// Include count of items
            [QueryParameter("%24count")]
            public bool? Count { get; set; }
            /// Filter items by property values
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
            [QueryParameter("%24filter")]
            public string? Filter { get; set; }
#nullable restore
#else
            [QueryParameter("%24filter")]
            public string Filter { get; set; }
#endif
            /// Search items by search phrases
#if NETSTANDARD2_1_OR_GREATER || NETCOREAPP3_1_OR_GREATER
#nullable enable
            [QueryParameter("%24search")]
            public string? Search { get; set; }
#nullable restore
#else
            [QueryParameter("%24search")]
            public string Search { get; set; }
#endif
            /// Skip the first n items
            [QueryParameter("%24skip")]
            public int? Skip { get; set; }
            /// Show only the first n items
            [QueryParameter("%24top")]
            public int? Top { get; set; }
        }
        ///
        /// Configuration for the request such as headers, query parameters, and middleware options.
        ///
        [Obsolete("This class is deprecated. Please use the generic RequestConfiguration class generated by the generator.")]
        [global::System.CodeDom.Compiler.GeneratedCode("Kiota", "1.0.0")]
        public partial class GetDevicesScheduledToRetireRequestBuilderGetRequestConfiguration : RequestConfiguration<global::Microsoft.Graph.Beta.DeviceManagement.DeviceCompliancePolicies.GetDevicesScheduledToRetire.GetDevicesScheduledToRetireRequestBuilder.GetDevicesScheduledToRetireRequestBuilderGetQueryParameters>
        {
        }
    }
}
#pragma warning restore CS0618


ping with Saliency Loss
    def vis_diff(img_A, img_B, name):

        image1 = img_A.numpy()
        image2 = img_B.numpy()
        difference = np.abs(image1 - image2)
        threshold = 0.1
        highlight_mask = difference > threshold
        image1_rgb = np.stack([image1]*3, axis=-1)
        image1_rgb[highlight_mask] = [1, 0, 0]
        image1_rgb_uint8 = (image1_rgb * 255).astype(np.uint8)
        output_image = Image.fromarray(image1_rgb_uint8)

        output_image.save(name)
    if np.mean(saliency_loss) > early_saliency and epoch >= early_warmup:
        print(f'ERROR: Epoch {epoch} saliency loss {np.mean(saliency_loss):.4f} is over than limitation {early_saliency}')
        vis_diff(real_A_sigmoid[0,0,...].detach().cpu(), fake_B_sigmoid[0,0,...].detach().cpu(), f'./checkpoint/Earlystop_e{epoch}_{np.mean(saliency_loss):.4f}.png')
        break

    lr_scheduler_G.step()
    lr_scheduler_D_A.step()
    lr_scheduler_D_B.step()
    torch.save(netG_A2B.state_dict(), "./checkpoint/checkpointG_A2B_HE_XCG.pt")


Name)) {
        //     this.cipherName = "RC2/CBC/NoPadding";
        //     keyMaterial = 5;
        //     expandedKeyMaterial = 16;
        //     effectiveKeyBytes = 5;
        //     ivSize = 8;
        //     blockSize = 8;
        // END android-removed
        } else if ("RC4_40".equals(cipherName)) {
            this.cipherName = "RC4";
            keyMaterial = 5;
            expandedKeyMaterial = 16;
            effectiveKeyBytes = 5;
            ivSize = 0;
            blockSize = 0;
        } else if ("RC4_128".equals(cipherName)) {
            this.cipherName = "RC4";
            keyMaterial = 16;
            expandedKeyMaterial = 16;
            effectiveKeyBytes = 16;
            ivSize = 0;
            blockSize = 0;
        } else if ("DES40_CBC".equals(cipherName)) {
            this.cipherName = "DES/CBC/NoPadding";
            keyMaterial = 5;
            expandedKeyMaterial = 8;
            effectiveKeyBytes = 5;
            ivSize = 8;
            blockSize = 8;
        } else if ("DES_CBC".equals(cipherName)) {
            this.cipherName = "DES/CBC/NoPadding";
            keyMaterial = 8;
            expandedKeyMaterial = 8;
            effectiveKeyBytes = 7;
            ivSize = 8;
            blockSize = 8;
        } else if ("3DES_EDE_CBC".equals(cipherName)) {
            this.cipherName = "DESede/CBC/NoPadding";
            keyMaterial = 24;
            expandedKeyMaterial = 24;
            effectiveKeyBytes = 24;
            ivSize = 8;
            blockSize = 8;
        } else if ("AES_128_CBC".equals(cipherName)) {
            this.cipherName = "AES/CBC/NoPadding";
            keyMaterial = 16;
            expandedKeyMaterial = 16;
            effectiveKeyBytes = 16;
            ivSize = 16;
            blockSize = 16;
        } else if ("AES_256_CBC".equals(cipherName)) {
            this.cipherName = "AES/CBC/NoPadding";
            keyMaterial = 32;
            expandedKeyMaterial = 32;
            effectiveKeyBytes = 32;
            ivSize = 16;
            blockSize = 16;
        } else {
            this.cipherName = cipherName;
            keyMaterial = 0;
            expandedKeyMaterial = 0;
            effectiveKeyBytes = 0;
            ivSize = 0;
            blockSize = 0;
        }

        if ("MD5".equals(hash)) {
            this.hmacName = "HmacMD5";
            this.hashName = "MD5";
            hashSize = 16;
        } else if ("SHA".equals(hash)) {
            this.hmacName = "HmacSHA1";
            this.hashName = "SHA-1";
            hashSize = 20;
        } else {
            this.hmacName = null;
            this.hashName = null;
            hashSize = 0;
        }

        cipherSuiteCode = code;

        if (this.cipherName != null) {
            try {
                Cipher.getInstance(this.cipherName);
            } catch (GeneralSecurityException e) {
                supported = false;
            }
        }

        // We define the Elliptic Curve cipher suites for use with
        // code shared by OpenSSL, but they are not supported by
        // SSLEngine or SSLSocket's built with SSLEngine.
        if (this.name.startsWith("TLS_EC")) {
            supported = false;
        }
    }

    /**
     * Returns true if cipher suite is anonymous
     */
    public boolean isAnonymous() {
        if (keyExchange == KEY_EXCHANGE_DH_anon
                || keyExchange == KEY_EXCHANGE_DH_anon_EXPORT
                || keyExchange == KEY_EXCHANGE_ECDH_anon) {
            return tr


Soul Food",
  "Seafood",
  "Hotdogs",
  "Greek",
  "Not Listed/Not Applicable",
  "African",
  "Japanese",
  "Indian",
  "Armenian",
  "Thai",
  "Chinese/Cuban",
  "Mediterranean",
  "Korean",
  "Bottled beverages, including water, sodas, juices, etc.",
  "Russian",
  "Eastern European",
  "Middle Eastern",
  "Asian",
  "Ethiopian",
  "Vegetarian",
  "Barbecue",
  "Egyptian",
  "English",
  "Sandwiches",
  "Portuguese",
  "Indonesian",
  "Chinese/Japanese",
  "Filipino",
  "Juice, Smoothies, Fruit Salads",
  "Brazilian",
  "Afghan",
  "Vietnamese/Cambodian/Malaysia",
  "CafÃ©/Coffee/Tea",
  "Soups & Sandwiches",
  "Tapas",
  "Moroccan",
  "Pakistani",
  "Peruvian",
  "Bangladeshi",
  "Czech",
  "Salads",
  "Creole",
  "Fruits/Vegetables",
  "Iranian",
  "Cajun",
  "Scandinavian",
  "Polynesian",
  "Soups",
  "Australian",
  "Hotdogs/Pretzels",
  "Southwestern",
  "Nuts/Confectionary",
  "Hawaiian",
  "Creole/Cajun",
  "Californian",
  "Chilean"
]
```

##3. Distinct por `types` na pokemons
```js
Odin(mongod-3.0.7) be-mean> db.pokemons.distinct('types')
[
  "normal",
  "fire",
  "water",
  "bug",
  "flying",
  "poison",
  "electric",
  "steel",
  "ice",
  "ghost",
  "fighting",
  "psychic",
  "grass",
  "ground",
  "fairy",
  "rock",
  "dark",
  "dragon"
]
```

##4. As primeiras 3 pág. com .limit() e .skip() de pokemons (5 em 5)
```js
db.pokemons.find({},{name:1,_id:0}).limit(5).skip(5*0)
{
  "name": "Rattata"
}
{
  "name": "Charmander"
}
{
  "name": "Charmeleon"
}
{
  "name": "Wartortle"
}
{
  "name": "Caterpie"
}
Fetched 5 record(s) in 1ms

db.pokemons.find({},{name:1,_id:0}).limit(5).skip(5*1)
{
  "name": "Blastoise"
}
{
  "name": "Metapod"
}
{
  "name": "Butterfree"
}
{
  "name": "Spearow"
}
{
  "name": "Kakuna"
}
Fetched 5 record(s) in 2ms

db.pokemons.find({},{name:1,_id:0}).limit(5).skip(5*2)
{
  "name": "Farfetchd"
}
{
  "name": "Magnemite"
}
{
  "name": "Magneton"
}
{
  "name": "Doduo"
}
{
  "name": "Seel"
}
Fetched 5 record(s) in 2ms
```

##5. Group ou Aggregate contando a quantidade de pokemons de cada tipo
```js
db.pokemons.aggregate([
	{
		$unwind: "$types"
	}
  , {
	  	$group: {
			_id: "$types"
		  , total: { $sum: 1 }
		}
  	}
]);
{
  "result": [
    {
      "_id": "fairy",
      "total": 28
    },
    {
      "_id": "psychic",
      "total"


 detector
	if (Math.abs(voltdiff-lastvoltdiff) > .01)
	    sim.converged = false;
	voltdiff = limitStep(voltdiff, lastvoltdiff);
	lastvoltdiff = voltdiff;

	// To prevent a possible singular matrix or other numeric issues, put a tiny conductance
	// in parallel with each P-N junction.
	double gmin = leakage * 0.01;
	if (sim.subIterations > 100) {
	    // if we have trouble converging, put a conductance in parallel with the diode.
	    // Gradually increase the conductance value for each iteration.
	    gmin = Math.exp(-9*Math.log(10)*(1-sim.subIterations/3000.));
	    if (gmin > .1)
		gmin = .1;
	}

	if (voltdiff >= 0 || zvoltage == 0) {
	    // regular diode or forward-biased zener
	    double eval = Math.exp(voltdiff*vdcoef);
	    double geq = vdcoef*leakage*eval + gmin;
	    double nc = (eval-1)*leakage - geq*voltdiff;
	    sim.stampConductance(nodes[0], nodes[1], geq);
	    sim.stampCurrentSource(nodes[0], nodes[1], nc);
	} else {
	    // Zener diode

	    // For reverse-biased Zener diodes, mimic the Zener breakdown curve with an
	    // exponential similar to the ideal Shockley curve. (The real breakdown curve
	    // isn't a simple exponential, but this approximation should be OK.)

	    /*
	     * I(Vd) = Is * (exp[Vd*C] - exp[(-Vd-Vz)*Cz] - 1 )
	     *
	     * geq is I'(Vd)
	     * nc is I(Vd) + I'(Vd)*(-Vd)
	     */

	    double geq = leakage* (
		vdcoef*Math.exp(voltdiff*vdcoef) + vzcoef*Math.exp((-voltdiff-zoffset)*vzcoef)
		) + gmin;

	    double nc = leakage* (
		Math.exp(voltdiff*vdcoef)
		- Math.exp((-voltdiff-zoffset)*vzcoef)
		- 1
		) + geq*(-voltdiff);

	    sim.stampConductance(nodes[0], nodes[1], geq);
	    sim.stampCurrentSource(nodes[0], nodes[1],  nc);
	}
    }

    double calculateCurrent(double voltdiff) {
	if (voltdiff >= 0 || zvoltage == 0)
	    return leakage*(Math.exp(voltdiff*vdcoef)-1);
	return leakage* (
	    Math.exp(voltdiff*vdcoef)
	    - Math.exp((-voltdiff-zoffset)*vzcoef)
	    - 1
	    );
    }
}
/*
    Copyright (C) Paul Falstad and Iain Sharp

    This file is part of CircuitJS1.

    CircuitJS1 is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 2 of the License, or
    (at your option) any later version.

    CircuitJS1 is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with CircuitJS1.  If not, see <http://www.gnu.org/licenses/>.
*/

package com.lushprojects.circuitjs1.client;

class SweepElm extends CircuitElm {
    double maxV, maxF, minF, sweepTime, frequency;
    final int FLAG_LOG = 1;
    final int FLAG_BIDIR = 2;

    public SweepElm(int xx, int yy) {
	super(xx, yy);
	minF = 20; maxF = 4000;
	maxV = 5;
	sweep


 = v, c.write = z, c.inflate_flush(r, a);
          if (0 === A && (z == c.end && 0 !== c.read && (z = 0, A = z < c.read ? c.read - z - 1 : c.end - z), 0 === A && (c.write = z, a = c.inflate_flush(r, a), z = c.write, A = z < c.read ? c.read - z - 1 : c.end - z, z == c.end && 0 !== c.read && (z = 0, A = z < c.read ? c.read - z - 1 : c.end - z), 0 === A))) return c.bitb = l, c.bitk = k, r.avail_in = S, r.total_in += v - r.next_in_index, r.next_in_index = v, c.write = z, c.inflate_flush(r, a);
          if (a = zip_e, o = f, o > S && (o = S), o > A && (o = A), c.win.set(r.read_buf(v, o), z), v += o, S -= o, z += o, A -= o, 0 != (f -= o)) break;
          d = 0 !== g ? j : D;
          break;
        case O:
          for (; k < 14;) {
            if (0 === S) return c.bitb = l, c.bitk = k, r.avail_in = S, r.total_in += v - r.next_in_index, r.next_in_index = v, c.write = z, c.inflate_flush(r, a);
            a = zip_e, S--, l |= (255 & r.read_byte(v++)) << k, k += 8;
          }
          if (h = o = 16383 & l, (31 & o) > 29 || (o >> 5 & 31) > 29) return d = L, r.msg = "too many length or distance symbols", a = zip_i, c.bitb = l, c.bitk = k, r.avail_in = S, r.total_in += v - r.next_in_index, r.next_in_index = v, c.write = z, c.inflate_flush(r, a);
          if (o = 258 + (31 & o) + (o >> 5 & 31), !u || u.length < o) u = [];else for (P = 0; P < o; P++) u[P] = 0;
          l >>>= 14, k -= 14, _ = 0, d = zip_T;
        case zip_T:
          for (; _ < 4 + (h >>> 10);) {
            for (; k < 3;) {
              if (0 === S) return c.bitb = l, c.bitk = k, r.avail_in = S, r.total_in += v - r.next_in_index, r.next_in_index = v, c.write = z, c.inflate_flush(r, a);
              a = zip_e, S--, l |= (255 & r.read_byte(v++)) << k, k += 8;
            }
            u[zip_U[_++]] = 7 & l, l >>>= 3, k -= 3;
          }
          for (; _ < 19;) u[zip_U[_++]] = 0;
          if (b[0] = 7, o = x.inflate_trees_bits(u, b, p, y, r), o != zip_e) return (a = o) == zip_i && (u = null, d = L), c.bitb = l, c.bitk = k, r.avail_in = S, r.total_in += v - r.next_in_index, r.next_in_index = v, c.write = z, c.inflate_flush(r, a);
          _ = 0, d = W;
        case W:
          for (; o = h, !(_ >= 258 + (31 & o) + (o >> 5 & 31));) {