 getTPCCCommandLineOpts(hostcount, sitesperhost)
    elif driver == "org.voltdb.benchmark.overhead.OverheadClient":
        return getOverheadCommandLineOpts()

def signalHandler(signum, frame):
    raise Exception, "Interrupted by SIGINT."

def main():
    # abstract away the available hosts
    hostpool = LocalPool()
    # hostpool = EC2Pool()

    # try really hard to cleanup the hostpool.
    signal.signal(signal.SIGINT, signalHandler)

    try:
        # matrix of values to test with
        # hostcounts = [1,2,6]
        hostcounts = [1,2,5]
        # clientcounts = [1,3]
        clientcounts = [1,2]
        processesperclients = [1,2,6]
        sitesperhosts = [9,12]
        drivers = ["org.voltdb.benchmark.tpcc.TPCCClient",
                   "org.voltdb.benchmark.overhead.OverheadClient"]

        cmds = []
        for hostcount in hostcounts:
            for clientcount in clientcounts:
                for processesperclient in processesperclients:
                    for sitesperhost in sitesperhosts:
                        for driver in drivers:
                            cmd = getBenchmarkBaseCommand(hostpool, hostcount, clientcount,
                                                          processesperclient, sitesperhost, driver)
                            for postfix in getCommandLineOptsForDriver(driver, hostcount, sitesperhost):
                                cmds += [cmd + postfix]

        print "Running %d benchmarks...\n" % len(cmds)
        for i in range(len(cmds)):
            print "Running: \n%s" % cmds[i]
            os.system(cmds[i])
            print "Finished %d / %d" % (i, len(cmds))

    finally:
        # should catch ctrl-c, kill,
        hostpool.cleanup()

if __name__ == "__main__":
    main()


17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12A10,10 0 0,0 12,2Z' /%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    text-indent: -5000px;
    display: block;
    width: 30px;
    height: 30px;
    overflow: hidden;
    font-size: 12px;
    font-weight: 500;
    color: #fff;
}
.github-button:hover,
.github-button:active {
    color: #fff;
}
.juniper-head {
    font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New",
        monospace;
    background-color: #e4209c;
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
    padding: 4px 6px;
    padding-bottom: 0;
    padding-left: 8px;
}
.juniper-head h3 {
    font-size: 12px;
    font-weight: 300;
    color: #fff;
    font-family: Poppins, sans-serif !important;
}
@media (max-width: 1023px) {
    .juniper-head h3 {
        font-size: 10px;
        text-shadow: none;
    }
}
@media (min-width: 1024px) {
    .juniper-head h3 {
        font-size: 12px;
    }
}
.juniper-head .heading {
    float: left;
}
.juniper-head .version {
    border-left: 1px solid #fff;
    float: right;
    padding-left: 90px;
}
@media (max-width: 991px) {
    .juniper-head .version {
        padding-left: 20px;
    }
}
@media (max-width: 767px) {
    .juniper-head .version {
        padding-left: 60px;
    }
}
.juniper-head:after {
    display: block;
    content: "";
    clear: both;
}
.juniper-head + .juniper-cell {
    font-size: 12px;
    line-height: 1.1;
}
.juniper-head + .juniper-cell .CodeMirror {
    padding: 10px;
}
@media (max-width: 767px) {
    .juniper-head + .juniper-cell .CodeMirror {
        padding-top: 40px;
    }
}
.juniper-head + .juniper-cell .CodeMirror-scroll {
    max-height: 400px;
}
@media (max-width: 767px) {
    .juniper-head + .juniper-cell .CodeMirror-scroll {
        min-height: 1px;
    }
}
.juniper-head + .juniper-cell .juniper-output {
    display: none;
    padding: 15px;
    max-height: 470px;
    overflow: auto;
}
.juniper-head + .juniper-cell .juniper-outpu


        append(uri)
      }
      for (transformation in transformations) {
        append(' ')
        append(transformation.key())
      }
      if (stableKey != null) {
        append(" stableKey(")
        append(stableKey)
        append(')')
      }
      if (targetWidth > 0) {
        append(" resize(")
        append(targetWidth)
        append(',')
        append(targetHeight)
        append(')')
      }
      if (centerCrop) {
        append(" centerCrop")
      }
      if (centerInside) {
        append(" centerInside")
      }
      if (rotationDegrees != 0f) {
        append(" rotation(")
        append(rotationDegrees)
        if (hasRotationPivot) {
          append(" @ ")
          append(rotationPivotX)
          append(',')
          append(rotationPivotY)
        }
        append(')')
      }
      if (config != null) {
        append(' ')
        append(config)
      }
      append('}')
    }

  // TODO make internal
  fun logId(): String {
    val delta = System.nanoTime() - started
    return if (delta > TOO_LONG_LOG) {
      "${plainId()}+${NANOSECONDS.toSeconds(delta)}s"
    } else {
      "${plainId()}+${NANOSECONDS.toMillis(delta)}ms"
    }
  }

  // TODO make internal
  fun plainId() = "[R$id]"

  // TODO make internal
  val name: String
    get() = uri?.path ?: Integer.toHexString(resourceId)

  // TODO make internal
  fun hasSize(): Boolean = targetWidth != 0 || targetHeight != 0

  // TODO make internal
  fun needsMatrixTransform(): Boolean = hasSize() || rotationDegrees != 0f

  fun newBuilder(): Builder = Builder(this)

  private fun createKey(): String {
    val result = createKey(Utils.MAIN_THREAD_KEY_BUILDER)
    Utils.MAIN_THREAD_KEY_BUILDER.setLength(0)
    return result
  }

  private fun createKey(builder: StringBuilder): String {
    val data = this
    if (data.stableKey != null) {
      builder.ensureCapacity(data.stableKey.length + KEY_PADDING)
      builder.append(data.stableKey)
    } else if (data.uri != null) {
      val path = data.uri.toString()
      builder.ensureCapacity(path.length + KEY_PADDING)
      builder.append(path)
    } else {
      builder.ensureCapacity(KEY_PADDING)
      builder.append(data.resourceId)
    }

    builder.append(KEY_SEPARATOR)

    if (data.rotationDegrees != 0f) {
      builder
        .append("rotation:")
        .append(data.rotationDegrees)

      if (data.hasRotationPivot) {
        builder
          .append('@')
          .append(data.rotationPivotX)
          .append('x')
          .append(data.rotationPivotY)
      }

      builder.append(KEY_SEPARATOR)
    }

    if (data.hasSize()) {
      builder
        .append("resize:")
        .append(data.targetWidth)
        .append('x')
        .append(data.targetHeight)

      builder.append(KEY_SEPARATOR)
    }

    if (data.centerCrop) {
      builder
        .append("centerCrop:")
        .append(data.centerCropGravity)
        .append(KEY_SEPARATOR)
    } else if (data.centerInside) {
      builder
        .append("centerInside")
        .append(KEY_SEPARATOR)
    }

    for (i in data.transformations.indices) {
      builder.append(data.transformations[i].key())
      builder.append(KEY_SEPARATOR)
    }

    return builder.toString()
  }

  /** Builder for creating [Request] instances.  */
  class Builder {
    var uri: Uri? = null
    var resourceId = 0
    var stableKey: String? = null
    var targetWidth = 0
    var targetHeight = 0
    var centerCrop = false
    v


'
            }
          }).then(() => {
            cy.wait(300) // INFO - CH - 20210128 - wait for the TLM to have been triggered

            cy.get('form.rjsf .form-group > input[type="text"]')
              .first()
              .invoke('val')
              .then(inputText => {
                expect(inputText).to.equal(expectedText)
              })
          })
        })
      })
    })
  })
})
*/
// 2021-09-06 - MB - Unstable test. See : https://github.com/tracim/tracim/issues/4905

import { PAGES } from '../../support/urls_commands'

let workspaceId
const threadLabel = 'thread'
const publicationLabel = 'publication'

describe('In recent activities', () => {
  before(function () {
    this.skip()
    cy.resetDB()
    cy.setupBaseDB()
    cy.loginAs('administrators')
    cy.fixture('baseWorkspace').as('workspace').then(workspace => {
      workspaceId = workspace.workspace_id
      cy.createThread(threadLabel, workspaceId)
      cy.createPublication(publicationLabel, workspaceId)
      cy.visitPage({ pageName: PAGES.WORKSPACE_RECENT_ACTIVITIES, params: { workspaceId } })
      cy.get('.feedItem')
      cy.get('.activityList').scrollIntoView()
    })
  })

  it('should have a specific icon and color for publication', () => {
    cy.contains('.feedItemHeader', publicationLabel)
      .should('exist')
      .find('.feedItemHeader__icon')
      .should('have.class', 'fa-stream')
      .should('have.css', 'color', 'rgb(102, 31, 152)')
  })

  it("should have the app's icon and color for other contents", () => {
    cy.contains('.feedItemHeader', threadLabel)
      .should('exist')
      .find('.feedItemHeader__icon')
      .should('have.class', 'fa-comments')
      // INFO - GB - 20210323 - see file frontend/dist/assets/branding/color.json for thread color
      .should('have.css', 'color', 'rgb(66, 139, 202)')
  })
})
import { PAGES } from '../../support/urls_commands.js'
import { SELECTORS } from '../../support/generic_selector_commands.js'
import defaultAdmin from '../../fixtures/defaultAdmin.json'

const fakeLink = 'https://awesomearticle.invalid/littletest.html'
const fakePreview = {
  "image": "/assets/branding/images/tracim-logo.png",
  "title": "The Holy Tests",
  "description": "I was writing a Cypress test and a Voice came to tell me something."
}
const exampleText = 'This is an example'

const publishButton = '.commentArea__submit__btn'

const titleSubject = 'Example of title'

const title = 'Example of title - News of Global manager on '

describe('Publications', () => {
  describe('publish a text', () => {
    beforeEach(function () {
      cy.resetDB()
      cy.setupBaseDB()
      cy.loginAs('administrators')
      cy.fixture('baseWorkspace').as('workspace').then((workspace) => {
        cy.visitPage({
          pageName: PAGES.PUBLICATION,
          params: { workspaceId: workspace.workspace_id },
          waitForTlm: true,
          options: {
            onBeforeLoad (win) {
              // RJ - 2021-04-20 - FIXME
              // use cy.intercept() when we migrate to Cypress 6 to intercept fetch calls
              // See https://github.com/tracim/tracim/issues/2872#issuecomment-823245093

              const originalFetch = win.fetch.bind(win)

              win.fetch = (resource, init) => {
                if (resource.includes('/api/url-preview?') && resource.includes('url=' + encodeURIComponent(fak


);
  {
    OptionalTestGuard g;
    ASSERT_EQ(TestGuardImpl::getDeviceIndex(), 0);
    ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(1), 0);
    ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(0), 0);
  }
  ASSERT_EQ(TestGuardImpl::getDeviceIndex(), 0);
  ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(1), 0);
  ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(0), 0);
}

TEST(InlineOptionalStreamGuard, ResetStreamSameDevice) {
  TestGuardImpl::setDeviceIndex(0);
  TestGuardImpl::resetStreams();
  {
    OptionalTestGuard g;
    g.reset_stream(stream(1, 3));
    ASSERT_EQ(TestGuardImpl::getDeviceIndex(), 1);
    ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(1), 3);
    ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(0), 0);
    ASSERT_EQ(g.original_stream(), make_optional(stream(0, 0)));
    ASSERT_EQ(g.current_stream(), make_optional(stream(1, 3)));
  }
  ASSERT_EQ(TestGuardImpl::getDeviceIndex(), 0);
  ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(1), 0);
  ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(0), 0);
}

TEST(InlineOptionalStreamGuard, ResetStreamDifferentDevice) {
  TestGuardImpl::setDeviceIndex(0);
  TestGuardImpl::resetStreams();
  {
    OptionalTestGuard g;
    g.reset_stream(stream(2, 3));
    ASSERT_EQ(TestGuardImpl::getDeviceIndex(), 2);
    ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(2), 3);
    ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(1), 0);
    ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(0), 0);
    ASSERT_EQ(g.original_stream(), make_optional(stream(0, 0)));
    ASSERT_EQ(g.current_stream(), make_optional(stream(2, 3)));
  }
  ASSERT_EQ(TestGuardImpl::getDeviceIndex(), 0);
  ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(2), 0);
  ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(1), 0);
  ASSERT_EQ(TestGuardImpl::getCurrentStreamIdFor(0), 0);
}
/**
 * Copyright (c) 2016-present, Facebook, 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.
 */

#include "select_smooth_l1_loss_op.h"

namespace caffe2 {

REGISTER_CPU_OPERATOR(
    SelectSmoothL1Loss,
    SelectSmoothL1LossOp<float, CPUContext>);
REGISTER_CPU_OPERATOR(
    SelectSmoothL1LossGradient,
    SelectSmoothL1LossGradientOp<float, CPUContext>);

OPERATOR_SCHEMA(SelectSmoothL1Loss)
    .NumInputs(4)
    .NumOutputs(1)
    .SetDoc(R"DOC(
RetinaNet specific op for computing Smooth L1 Loss at select locations in a 4D
tensor that encodes bounding box regression predictions.
)DOC")
    .Arg(
        "beta",
        "(float) default 1.0; L2 to L1 transition point.")
    .Arg(
        "scale",
        "(float) default 1.0; multiply the loss by this scale factor.")
    .Input(
        0,
        "Y_hat",
        "4D tensor of bounding


nl.exe PAGE:0x640504, 0x1fe000 bytes
    //
    _r4(sdk::unknown_ptr) read_support_cleanup;

    // [PfpReadSupportInitialize]
    // Ldr = [ntoskrnl.exe, hal.dll]
    // => Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
    // ntoskrnl.exe .text:0x104f70, 0x32828 bytes
    // ntoskrnl.exe .text:0x2a954c, 0x1fe000 bytes
    // ntoskrnl.exe .text:0x33da3c, 0x1fd000 bytes
    // ntoskrnl.exe .text:0x2beaf0, 0x1fe000 bytes
    //
    _r5(sdk::unknown_ptr) read_support_initialize;

    // [PfpRepurposeNameLoggingTrace]
    // Ldr = [ntoskrnl.exe, hal.dll]
    // => Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
    // ntoskrnl.exe PAGE:0x415024, 0x32828 bytes
    // ntoskrnl.exe PAGE:0x67d128, 0x1fe000 bytes
    // ntoskrnl.exe PAGE:0x768978, 0x1fd000 bytes
    // ntoskrnl.exe PAGE:0x653988, 0x1fe000 bytes
    //
    _r6(sdk::unknown_ptr) repurpose_name_logging_trace;

    // [PfpReturnAccessBuffer]
    // Ldr = [ntoskrnl.exe, hal.dll]
    // => Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
    // ntoskrnl.exe .text:0xd061c, 0x32828 bytes
    // ntoskrnl.exe .text:0x27c25c, 0x1fe000 bytes
    // ntoskrnl.exe .text:0x306980, 0x1fd000 bytes
    // ntoskrnl.exe .text:0x2c2f78, 0x1fe000 bytes
    //
    _r7(sdk::unknown_ptr) return_access_buffer;

    // [PfpRpCHashAddEntries]
    // Ldr = [ntoskrnl.exe, hal.dll]
    // => Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
    // ntoskrnl.exe PAGE:0x419ad4, 0x32828 bytes
    // ntoskrnl.exe PAGE:0x647b64, 0x1fe000 bytes
    // ntoskrnl.exe PAGE:0x7b8d58, 0x1fd000 bytes
    // ntoskrnl.exe PAGE:0x5d1af0, 0x1fe000 bytes
    //
    _r8(sdk::unknown_ptr) rp_c_hash_add_entries;

    // [PfpRpCHashDeleteEntries]
    // Ldr = [ntoskrnl.exe, hal.dll]
    // => Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
    // ntoskrnl.exe PAGE:0x3ed624, 0x32828 bytes
    // ntoskrnl.exe PAGE:0x647ddc, 0x1fe000 bytes
    // ntoskrnl.exe PAGE:0x7b92b8, 0x1fd000 bytes
    // ntoskrnl.exe PAGE:0x5d1d68, 0x1fe000 bytes
    //
    _r9(sdk::unknown_ptr) rp_c_hash_delete_entries;

    // [PfpRpCHashEmpty]
    // Ldr = [ntoskrnl.exe, hal.dll]
    // => Windows 10 v1607, Windows 10 v2004, Windows 11, Windows 10 v20H2
    // ntoskrnl.exe PAGE:0x568460, 0x32828 bytes


summary>
		SentinelFarsong = 14733,
		/// <summary>
		/// Level: 50
		/// </summary>
		RevantuskDrummer = 14734,
		/// <summary>
		/// Level: 1
		/// </summary>
		GgoodmansFlagTester = 14735,
		/// <summary>
		/// Level: 60
		/// </summary>
		PrimalTorntusk = 14736,
		/// <summary>
		/// Title: Blacksmithing Supplies
		/// Level: 47
		/// </summary>
		SmithSlagtree = 14737,
		/// <summary>
		/// Title: Cooking Supplies
		/// Level: 48
		/// </summary>
		OthoMojiKo = 14738,
		/// <summary>
		/// Title: Reagents
		/// Level: 48
		/// </summary>
		MysticYayoJin = 14739,
		/// <summary>
		/// Title: Fishing Trainer & Supplies
		/// Level: 42
		/// </summary>
		KatoomTheAngler = 14740,
		/// <summary>
		/// Title: Stable Master
		/// Level: 45
		/// </summary>
		HuntsmanMarkhor = 14741,
		/// <summary>
		/// Title: Unbalanced Engineer
		/// Level: 56
		/// </summary>
		ZapFarflinger = 14742,
		/// <summary>
		/// Title: Engineer
		/// Level: 50
		/// </summary>
		JhordyLapforge = 14743,
		/// <summary>
		/// Level: 1
		/// </summary>
		FrostwolfHowler = 14744,
		/// <summary>
		/// Level: 1
		/// </summary>
		StormpikeBattleCharger = 14745,
		/// <summary>
		/// Level: 1
		/// Rank: Elite
		/// </summary>
		PHHordeTowerLieutenant = 14746,
		/// <summary>
		/// Level: 49
		/// </summary>
		VilebranchKidnapper = 14748,
		/// <summary>
		/// Level: 61
		/// Rank: Elite
		/// </summary>
		GurubashiBatRider = 14750,
		/// <summary>
		/// Level: 1
		/// </summary>
		FrostwolfBattleStandard = 14751,
		/// <summary>
		/// Level: 1
		/// </summary>
		StormpikeBattleStandard = 14752,
		/// <summary>
		/// Title: Silverwing Supply Officer
		/// Level: 55
		/// Rank: Elite
		/// </summary>
		IlliyanaMoonblaze = 14753,
		/// <summary>
		/// Title: Warsong Supply Officer
		/// Level: 55
		/// Rank: Elite
		/// </summary>
		KelmHargunth = 14754,
		/// <summary>
		/// Level: 1
		/// </summary>
		TinyGreenDragon = 14755,
		/// <summary>
		/// Level: 1
		/// </summary>
		TinyRedDragon = 14756,
		/// <summary>
		/// Level: 48
		/// </summary>
		ElderTorntusk = 14757,
		/// <summary>
		/// Level: 60
		/// </summary>
		ZulGurubTrigger = 14758,
		/// <summary>
		/// Level: 60
		/// </summary>
		CreepingDoom = 14761,
		/// <summary>
		/// Level: 60
		/// Rank: Elite
		/// </summary>
		DunBaldarNorthMarshal = 14762,
		/// <summary>
		/// Level: 60
		/// Rank: Elite
		/// </summary>
		DunBaldarSouthMarshal = 14763,
		/// <summary>
		/// Level: 60
		/// Rank: Elite
		/// </summary>
		IcewingMarshal = 14764,
		/// <summary>
		/// Level: 60
		/// Rank: Elite
		/// </summary>
		StonehearthMarshal = 14765,
		/// <summary>
		/// Level: 70
		/// Rank: Elite
		/// </summary>


foundly""",
  r"""##ddled""",
  r"""jiangsu""",
  r"""sparkled""",
  r"""stat""",
  r"""##holz""",
  r"""sweatshirt""",
  r"""tobin""",
  r"""##iction""",
  r"""sneered""",
  r"""##cheon""",
  r"""##oit""",
  r"""brit""",
  r"""causal""",
  r"""smyth""",
  r"""##neuve""",
  r"""diffuse""",
  r"""perrin""",
  r"""silvio""",
  r"""##ipes""",
  r"""##recht""",
  r"""detonated""",
  r"""iqbal""",
  r"""selma""",
  r"""##nism""",
  r"""##zumi""",
  r"""roasted""",
  r"""##riders""",
  r"""tay""",
  r"""##ados""",
  r"""##mament""",
  r"""##mut""",
  r"""##rud""",
  r"""840""",
  r"""completes""",
  r"""nipples""",
  r"""cfa""",
  r"""flavour""",
  r"""hirsch""",
  r"""##laus""",
  r"""calderon""",
  r"""sneakers""",
  r"""moravian""",
  r"""##ksha""",
  r"""1622""",
  r"""rq""",
  r"""294""",
  r"""##imeters""",
  r"""bodo""",
  r"""##isance""",
  r"""##pre""",
  r"""##ronia""",
  r"""anatomical""",
  r"""excerpt""",
  r"""##lke""",
  r"""dh""",
  r"""kunst""",
  r"""##tablished""",
  r"""##scoe""",
  r"""biomass""",
  r"""panted""",
  r"""unharmed""",
  r"""gael""",
  r"""housemates""",
  r"""montpellier""",
  r"""##59""",
  r"""coa""",
  r"""rodents""",
  r"""tonic""",
  r"""hickory""",
  r"""singleton""",
  r"""##taro""",
  r"""451""",
  r"""1719""",
  r"""aldo""",
  r"""breaststroke""",
  r"""dempsey""",
  r"""och""",
  r"""rocco""",
  r"""##cuit""",
  r"""merton""",
  r"""dissemination""",
  r"""midsummer""",
  r"""serials""",
  r"""##idi""",
  r"""haji""",
  r"""polynomials""",
  r"""##rdon""",
  r"""gs""",
  r"""enoch""",
  r"""prematurely""",
  r"""shutter""",
  r"""taunton""",
  r"""£3""",
  r"""##grating""",
  r"""##inates""",
  r"""archangel""",
  r"""harassed""",
  r"""##asco""",
  r"""326""",
  r"""archway""",
  r"""dazzling""",
  r"""##ecin""",
  r"""1736""",
  r"""sumo""",
  r"""wat""",
  r"""##kovich""",
  r"""1086""",
  r"""honneur""",
  r"""##ently""",
  r"""##nostic""",
  r"""##ttal""",
  r"""##idon""",
  r"""1605""",
  r"""403""",
  r"""1716""",
  r"""blogger""",
  r"""rents""",
  r"""##gnan""",
  r"""hires""",
  r"""##ikh""",
  r"""##dant""",
  r"""howie""",
  r"""##rons""",


  nullableVar = legacyVar;
  nonNullableVar = legacyVar;
  legacyVar = nonNullableVar;
}
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

class A {}

class B<T> {}

class C<T, S extends T> {}

mixin MixinA on A {}

mixin MixinB<T> on B<T> {}

mixin MixinC<T, S extends T> on C<T, S> {}

class Class1a extends Object with MixinA {} // error

class Class1b extends A with MixinA {} // ok

class Class2a extends Object with MixinB<int> {} // error

class Class2b extends B<int?> with MixinB<int> {} // error

class Class2c extends B<num> with MixinB<int> {} // error

class Class2d extends B<int> with MixinB<int> {} // ok

class Class2e extends B<Object> with MixinB<dynamic> {} // error

class Class2f extends B<Object?> with MixinB<dynamic> {} // ok

class Class3a extends Object with MixinC<num, int> {} // error

class Class3b extends C<num, num> with MixinC<num, int> {} // error

class Class3c extends C<num?, int> with MixinC<num, int> {} // error

class Class3d extends C<num, int> with MixinC<num, int> {} // ok

class ClassBa extends B<int?> {}

class ClassBb extends B<int> {}

class ClassCa extends C<num?, int?> {}

class ClassCb extends C<num?, int> {}

class Class4a extends ClassBa with MixinB<int> {} // error

class Class4b extends ClassBa with MixinB<int?> {} // ok

class Class4c extends ClassBb with MixinB<int?> {} // error

class Class4d extends ClassBb with MixinB<int> {} // ok

class Class5a extends ClassCa with MixinC<num?, int> {} // error

class Class5b extends ClassCa with MixinC<num?, int?> {} // ok

class Class5c extends ClassCb with MixinC<num?, int?> {} // error

class Class5d extends ClassCb with MixinC<num?, int> {} // ok
// Copyright (c) 2021, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

final bool inSoundMode = <int?>[] is! List<int>;

main() {
  print('inSoundMode: $inSoundMode');
  testInferred();
}

class Class1 {
  int field;

  Class1(this.field);
}

abstract class Interface2 {
  int get field;
}

class Class2 implements Interface2 {
  final field;

  Class2(this.field);
}

var Class1_new = Class1.new;
var Class2_new = Class2.new;

testInferred() {
  var f1a = Class1.new;
  expect(true, f1a is Class1 Function(int));
  expect(false, f1a is Class1 Function(String));
  var c1a = f1a(0);
  expect(true, c1a is Class1);
  () {
    f1a(''); // error
  };

  dynamic f1b = Class1.new;
  var c1b = f1b(0);
  expect(true, c1b is Class1);
  throws(() => f1b(''));

  var f2a = Class2.new;
  expect(true, f2a is Class2 Function(int));
  expect(false, f2a is Class2 Function(String));
  var c2a = f2a(0);
  expect(true, c2a is Class2);
  () {
    f2a(''); // error
  };

  dynamic f2b = Class2.new;
  var c2b = f2b(0);
  expect(true, c2b is Class2);
  throws(() => f2b(''));
}

expect(expected, actual) {
  if (expected != actual) throw 'Expected $expected, actual $actual';
}

throws(Fun


 = {
          timing = animate.gen_timing.linear({ duration = 100, unit = "total" }),
        },
        scroll = {
          timing = animate.gen_timing.linear({ duration = 150, unit = "total" }),
          subscroll = animate.gen_subscroll.equal({
            predicate = function(total_scroll)
              if mouse_scrolled then
                mouse_scrolled = false
                return false
              end
              return total_scroll > 1
            end,
          }),
        },
      }
    end,
  },
}


, 0> result3 = tensor.sum(reduction_list);

  float expected = 0.0f;
  for (int i = 0; i < 2; ++i) {
    for (int j = 0; j < 3; ++j) {
      for (int k = 0; k < 5; ++k) {
        for (int l = 0; l < 7; ++l) {
          expected += tensor(i,j,k,l);
        }
      }
    }
  }
  VERIFY_IS_APPROX(result1(), expected);
  VERIFY_IS_APPROX(result2(), expected);
  VERIFY_IS_APPROX(result3(), expected);
}

static void test_dim_check()
{
  Eigen::IndexList<Eigen::type2index<1>, int> dim1;
  dim1.set(1, 2);
  Eigen::IndexList<Eigen::type2index<1>, int> dim2;
  dim2.set(1, 2);
  VERIFY(dimensions_match(dim1, dim2));
}

#endif

void test_cxx11_tensor_index_list()
{
#ifdef EIGEN_HAS_INDEX_LIST
  CALL_SUBTEST(test_static_index_list());
  CALL_SUBTEST(test_type2index_list());
  CALL_SUBTEST(test_type2indexpair_list());
  CALL_SUBTEST(test_dynamic_index_list());
  CALL_SUBTEST(test_mixed_index_list());
  CALL_SUBTEST(test_dim_check());
#endif
}
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2011 Gael Guennebaud <g.gael@free.fr>
// Copyright (C) 2012 desire Nuentsa <desire.nuentsa_wakam@inria.fr
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

#include "../../test/sparse_solver.h"
#include <Eigen/src/IterativeSolvers/DGMRES.h>

template<typename T> void test_dgmres_T()
{
  DGMRES<SparseMatrix<T>, DiagonalPreconditioner<T> > dgmres_colmajor_diag;
  DGMRES<SparseMatrix<T>, IdentityPreconditioner    > dgmres_colmajor_I;
  DGMRES<SparseMatrix<T>, IncompleteLUT<T> >           dgmres_colmajor_ilut;
  //GMRES<SparseMatrix<T>, SSORPreconditioner<T> >     dgmres_colmajor_ssor;

  CALL_SUBTEST( check_sparse_square_solving(dgmres_colmajor_diag)  );
//   CALL_SUBTEST( check_sparse_square_solving(dgmres_colmajor_I)     );
  CALL_SUBTEST( check_sparse_square_solving(dgmres_colmajor_ilut)     );
  //CALL_SUBTEST( check_sparse_square_solving(dgmres_colmajor_ssor)     );
}

void test_dgmres()
{
  CALL_SUBTEST_1(test_dgmres_T<double>());
  CALL_SUBTEST_2(test_dgmres_T<std::complex<double> >());
}
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008 Gael Guennebaud <g.gael@free.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, Y


DrawList"][12]["template_type"] = "ImVec2"
defs["structs"]["ImDrawList"][12]["type"] = "ImVector_ImVec2"
defs["structs"]["ImDrawList"][13] = {}
defs["structs"]["ImDrawList"][13]["name"] = "_CmdHeader"
defs["structs"]["ImDrawList"][13]["type"] = "ImDrawCmdHeader"
defs["structs"]["ImDrawList"][14] = {}
defs["structs"]["ImDrawList"][14]["name"] = "_Splitter"
defs["structs"]["ImDrawList"][14]["type"] = "ImDrawListSplitter"
defs["structs"]["ImDrawList"][15] = {}
defs["structs"]["ImDrawList"][15]["name"] = "_FringeScale"
defs["structs"]["ImDrawList"][15]["type"] = "float"
defs["structs"]["ImDrawListSplitter"] = {}
defs["structs"]["ImDrawListSplitter"][1] = {}
defs["structs"]["ImDrawListSplitter"][1]["name"] = "_Current"
defs["structs"]["ImDrawListSplitter"][1]["type"] = "int"
defs["structs"]["ImDrawListSplitter"][2] = {}
defs["structs"]["ImDrawListSplitter"][2]["name"] = "_Count"
defs["structs"]["ImDrawListSplitter"][2]["type"] = "int"
defs["structs"]["ImDrawListSplitter"][3] = {}
defs["structs"]["ImDrawListSplitter"][3]["name"] = "_Channels"
defs["structs"]["ImDrawListSplitter"][3]["template_type"] = "ImDrawChannel"
defs["structs"]["ImDrawListSplitter"][3]["type"] = "ImVector_ImDrawChannel"
defs["structs"]["ImDrawVert"] = {}
defs["structs"]["ImDrawVert"][1] = {}
defs["structs"]["ImDrawVert"][1]["name"] = "pos"
defs["structs"]["ImDrawVert"][1]["type"] = "ImVec2"
defs["structs"]["ImDrawVert"][2] = {}
defs["structs"]["ImDrawVert"][2]["name"] = "uv"
defs["structs"]["ImDrawVert"][2]["type"] = "ImVec2"
defs["structs"]["ImDrawVert"][3] = {}
defs["structs"]["ImDrawVert"][3]["name"] = "col"
defs["structs"]["ImDrawVert"][3]["type"] = "ImU32"
defs["structs"]["ImFont"] = {}
defs["structs"]["ImFont"][1] = {}
defs["structs"]["ImFont"][1]["name"] = "IndexAdvanceX"
defs["structs"]["ImFont"][1]["template_type"] = "float"
defs["structs"]["ImFont"][1]["type"] = "ImVector_float"
defs["structs"]["ImFont"][2] = {}
defs["structs"]["ImFont"][2]["name"] = "FallbackAdvanceX"
defs["structs"]["ImFont"][2]["type"] = "float"
defs["structs"]["ImFont"][3] = {}
defs["structs"]["ImFont"][3]["name"] = "FontSize"
defs["structs"]["ImFont"][3]["type"] = "float"
defs["structs"]["ImFont"][4] = {}
defs["structs"]["Im


            accuracy[0] += loss_out['choose_accuracy']

            accuracy[1] += loss_out['rule_accuracy']

            pbar.set_postfix(loss_batch = loss.item())#进度条
            pbar.update(1)
        lr_decay.step()

        # accuracy[0] /= (num_train*8)
        accuracy[0] /= (num_train)

        accuracy[1] /= (num_train)

        for i in range(4):

                loss_train[i] /= len(train_loader)

        model.eval()#不启用 Batch Normalization 和 Dropout。
        with torch.no_grad():

            for index, (_, x_test, label)in enumerate(val_loader):

                x_test = (x_test).long().to(device)

                label = label.float().to(device)
                #idx = (idx).long().to(device)

                kv = torch.Tensor([[11] + [12]*num_entity]).repeat(x_test.shape[0], 1).to(device).long()

                kv.requires_grad = False

                for i in range(num_entity):

                    out_test = model(x_test, kv.data)

                    kv[:, i + 1] = x_test[:, -1, i].data

                    loss_out = (model.module.loss_function(x_test[:, -1, i].data, *out_test, rule_label = label, i = i) if isinstance(model, nn.DataParallel)
                            else model.loss_function(x_test[:, -1, i], *out_test, rule_label = label, i = i))

                    loss_test_all[0] += loss_out['loss'].item()

                    loss_test_all[1] += loss_out['loss_rule']

                    loss_test_all[2] += loss_out['loss_regression']

                accuracy_val[0] += loss_out['choose_accuracy']

                accuracy_val[1] += loss_out['rule_accuracy']

                pbar.set_postfix(loss_batch = loss_out['loss'].item())
                pbar.update(1)

            accuracy_val[0] /= (num_val)

            accuracy_val[1] /= (num_val)

            for i in range(4):
                loss_test_all[i] /= len(val_loader)

    # Stores model
    if accuracy_val[0] > max_acc:
        torch.save(model.module.state_dict()  if isinstance(model, nn.DataParallel) else model.state_dict(), './model_'+name+'_best.pt')
        torch.save(optimiser.state_dict(), './optimiser_'+name+'_best.pt')

        max_acc = accuracy_val[0]

    torch.save(model.module.state_dict()  if isinstance(model, nn.DataParallel) else model.state_dict(), './model_'+name+'_now.pt')
    torch.save(optimiser.state_dict(), './optimiser_'+name+'_now.pt')

    # Print and log some results
    print("epoch:{}\n loss_train: all: {:.4f}\t  rule:  {:.4f}\t  regression {:.4f}\t  choose_accuracy:  {:.4f}\t  rule_accuracy: {:.4f}\n loss_test:  all: {:.4f}\t  rule:  {:.4f}\t  regression {:.4f}\t  choose_accuracy:  {:.4f}\t  rule_accuracy: {:.4f}\n  learning_rate:{:.8f}\n".\
          format(epoch, loss_train[0], loss_train[1],  loss_train[2], accuracy[0], accuracy[1], loss_test_all[0], loss_test_all[1],  loss_test_all[2],  accuracy_val[0], accuracy_val[1], lr_decay.get_lr()[0]))

    with open("test_on_"+text_name+".txt", "a") as f:  # 打开文件

        f.write("epoch:{}\n loss_train: all: {:.4f}\t  rule:  {:.4f}\t  regression {:.4f}\t  choose_accuracy:  {:.4f}\t  rule_accuracy: {:.4f}\n loss_test:  all: {:.4f}\t  rule:  {:.4f}\t  regression {:.4f}\t  choose_accuracy:  {:.4f}\t  rule_accuracy: {:.4f}\n  learning_rate:{:.8f}\n".\
              format(epoch, loss_train[0], loss_train[1],  loss_train[2], accuracy[0], accuracy[1], loss_test_all[0], loss_test_all[1],  loss_test_all[2],  accuracy_val[0], accuracy_val[1], lr_decay.get_lr()[0]))
    epoch += 1

    #%%

# from torchvision import transforms
# from matplotlib import pyplot as plt
# t = transforms.ToPILImage()
# from einops.layers.torch import Rearrange
# arrenge = Rearrange('c h w -> h (c w)')
# num = 6
# plt.imshow(t(arrenge(x_train[num][:3])), cmap = 'gray')
# plt.show()

# num = 6

# for i in range(8):

#     plt.subplot(3,3,i+1)

#     plt.imshow(t(x_train[num][i]), cmap = 'gray')
# plt.show()

# for i in range(8):

#     plt.subplot(2,4,i+1)

#     plt.imshow(t(x_train[num][i+8]), cmap = 'gray')

# plt.show()

# print(y_train[num])


 What iostream do we have?
 ****************************************************************************/
#include <iostream>
#include <sstream>
#include <fstream>
#include <iomanip>

#define PROG "xmacroplay"

using namespace std;

/****************************************************************************/
/*! Prints the usage, i.e. how the program is used. Exits the application with
  the passed exit-code.

  \arg const int ExitCode - the exitcode to use for exiting.
*/
/****************************************************************************/
static void usage (const int exitCode) {

    // print the usage
    cerr << PROG << " " << VERSION << endl;
    cerr << "Usage: " << PROG << " [options]" << endl;
    cerr << "Options: " << endl
         << "  -v          show version. " << endl
         << "  -h          this help. " << endl << endl;

    // we're done
    exit ( exitCode );
}

/****************************************************************************/
/*! Prints the version of the application and exits.
 */
/****************************************************************************/
static void version () {

    // print the version
    cerr << PROG << " " << VERSION << endl;

    // we're done
    exit ( EXIT_SUCCESS );
}

/****************************************************************************/
/*! Parses the commandline and stores all data in globals (shudder). Exits
  the application with a failed exitcode if a parameter is illegal.

  \arg int argc - number of commandline arguments.
  \arg char * argv[] - vector of the commandline argument strings.
*/
/****************************************************************************/
static void parseCommandLine (int argc, char * argv[]) {

    int Index = 1;

    // loop through all arguments except the last, which is assumed to be the
    // name of the display
    while ( Index < argc ) {

        // is this '-v'?
        if ( strcmp (argv[Index], "-v" ) == 0 ) {
            // yep, show version and exit
            version ();
        }

        // is this '-h'?
        if ( strcmp (argv[Index], "-h" ) == 0 ) {
            // yep, show usage and exit
            usage ( EXIT_SUCCESS );
        }

        else {
            // we got this far, the parameter is no good...
            cerr << "Invalid parameter '" << argv[Index] << "'." << endl;
            usage ( EXIT_FAILURE );
        }

        // next value
        Index++;
    }
}

/****************************************************************************/
/*! Connects to the desired display. Returns the \c Display or \c 0 if
  no display could be obtained.

  \arg const char * DisplayName - name of the remote display.
*/
/****************************************************************************/
Display * remoteDisplay () {

    int Event, Error;
    int Major, Minor;
    const char * DisplayName = getenv ( "DISPLAY" );

    // open the display
    Display * D = XOpenDisplay ( DisplayName );

    // did we get it?
    if ( ! D ) {
        // nope, so show error and abort
        cerr << PROG << ": could not open display \"" << XDisplayName ( DisplayName )
             << "\", aborting." << endl;
        exit ( EXIT_FAILURE );
    }

    // does the remote display have the Xtest-extension?
    if ( ! XTestQueryExtension (D, &Event, &Error, &Major, &Minor ) ) {
        // nope, extension not supported
        cerr << PROG << ": XTest extension not supported on server \""
             << DisplayString(D) <<


"Konflikt!",
        fa = "تعارض!",
        fi = "Ristiriita!",
        fr = "Conflit !",
        ga = "Coimhlint!",
        he = "התנגשות!",
        hu = "Ütközés!",
        id = "Bertentangan!",
        it = "Conflitto!",
        lv = "Konflikts!",
        nb = "Konflikt!",
        nds = "Konflikt!",
        nl = "Conflict!",
        nn = "Konflikt!",
        pl = "Konflikt!",
        pt = "Conflito!",
        pt_BR = "Conflito!",
        ro = "Conflict!",
        ru = "Конфликт!",
        sk = "Konflikt!",
        sl = "Spor!",
        sv = "Konflikt!",
        tr = "Çakışma!",
        uk = "Конфлікт!",
        zh_CN = "冲突！",
        zh_TW = "衝突！"
    };

    -- This is an error message shown to the user. When a file is to be
    --  overwritten, we move it out of the way instead, so we can restore it
    --  ("roll the file back") in case of problems, with the goal of having
    --  an installation that fails halfway through reverse any changes it made.
    --  This error is shown if we can't move a file out of the way.
    ["Couldn't backup file for rollback"] = {
        af = "Konnie leer rugsteen vir terugrol nie",
        ar = "لم نستطع حفظ نسخة احتياطية",
        bg = "Не е направен архив за връщане назад",
        ca = "No és possible realitzar un fitxer de còpia de seguretat per tal de poder utilitzar-lo en cas de problemes.",
        cs = "Nemohu zazálohovat soubor pro obnovu",
        da = "Kunne ikke lave backup af eksisterende fil til gendannelse",
        de = "Konnte Datei nicht zur Wiederherstellung sichern",
        el = "Δεν είναι δυνατή η αντιγραφή ασφαλείας για χρήση σε περίπτωση επαναφοράς",
        en_AU = "Couldn't backup file for rollback",
        en_CA = "Couldn't backup file for rollback",
        en_GB = "Couldn't backup file for rollback",
        es = "No se puede guardar el archivo para revertir",
        et = "Faili varundamine tagasi rullimiseks ebaõnnestus",
        fa = "نمی‌توان از فایل برای بازگردانی آن نسخه‌ی پشتیبان تهیه کرد",
        fi = "Tiedoston varmuuskopionti epäonnistui",
        fr = "Impossible de faire une copie de secours du fichier",
        he = "לא ניתן לגבות את הקובץ למטרות שיחזור",
        hu = "Fájllista biztonsági mentése nem lehetséges",
        it = "Impossibile eseguire il backup del file per un successivo ripristino",
        lv = "Nespēja izveidot rezerves kopiju",
        nb = "Kunne ikke sikkerhetskopiere fil for tilbakerulling",
        nds = "Datei konnte für die Wiederherstellung nicht gesichert werden",
        nl = "Kon bestand niet backupen om de installatie terug te kunnen draaien",
        nn = "Kunne ikkje sikkerhetskopi


.254-.938-1.859-5.112-4.66-7.669-7.461-7.669-2.802 0-5.603 2.558-7.461 7.669-.185.515.774 1.441 1.254.938m14.914 6.49C47.159 34.682 40.535 34 31.999 34h-.001c-8.535 0-15.159.682-19.641 1.344C10.611 35.602 10 36.607 10 37.41 10 47 13.492 50 27.811 50h8.381C50.508 50 54 47 54 37.41c0-.803-.613-1.808-2.357-2.066M32 48c-6.376 0-15.467 0-15.223-2.053.044-.367.152-.803.289-1.276.158-.526.28-.671 1.378-.671h27.112c1.098 0 1.223.145 1.377.671.141.474.246.909.289 1.276C47.467 48 38.376 48 32 48m16.934-9.831-1.113 2.909c-.195.507-.762.922-1.264.922H17.443c-.5 0-1.068-.415-1.262-.922l-1.115-2.909c-.194-.507.053-.983.549-1.058 0 0 7.392-1.111 16.385-1.111 8.992 0 16.385 1.111 16.385 1.111.495.077.742.551.549 1.058"/></svg>';
  static const String bear_face =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64" preserveAspectRatio="xMidYMid meet" viewBox="0 0 64 64"><path fill="currentColor" d="M57.931 20.028c1.732-1.752 2.727-4.077 2.727-6.51 0-5.256-4.521-9.532-10.078-9.532-4.459 0-8.332 2.818-9.62 6.707a49.242 49.242 0 00-1.327-.161c-1.929-3.824-5.758-6.142-5.935-6.247L29.867 2l.548 2.887a10.473 10.473 0 00-1.774-.597l-5.852-1.32 3.187 3.665h-.073c-.312 0-.487.018-.487.018l-4.586.432a10.345 10.345 0 00-7.407-3.099c-5.557 0-10.078 4.276-10.078 9.532 0 2.433.994 4.757 2.725 6.509C3.334 24.285 2 30.06 2 37.603 2 54.844 21.539 62 32 62s30-7.156 30-24.397c0-7.543-1.334-13.317-4.069-17.575m-33.55-9.907c.143.104.279.228.41.369-.602.06-1.185.127-1.752.203a9.287 9.287 0 00-1.279-2.499l2.621 1.927M32 60.066c-9.127 0-28-6.181-28-22.464C4 29.325 5.64 23.6 8.733 19.697c-2.048-1.378-3.388-3.629-3.388-6.179 0-4.196 3.617-7.598 8.078-7.598 4.239 0 7.709 3.073 8.044 6.98 1.982-.363 4.125-.583 6.408-.699-.444-1.458-1.153-2.795-2.288-3.624 0 0 .114-.009.316-.009.538 0 1.704.066 3.026.556 0 0 .268-1.791-.742-2.952 0 0 2.625.592 3.943


$ones, $zeros
        AND     $tmpA, $tmpA, $tmpB
        MOV     $srcA, $srcA, LSL #16
        MOV     $srcB, $srcB, LSL #16
        UXTAB   map, map, $tmpA, ROR #16
        UXTAB   map, map, $tmpA, ROR #24
        MEND

        MACRO
        pixelMatchTally8_8_4pixels $first, $last, $srcA, $srcB, $zeros, $ones
        EOR     $srcA, $srcA, ht
        EOR     $srcB, $srcB, ht_info
        USUB8   $srcA, $zeros, $srcA
        SEL     $srcA, $ones, $zeros
        USUB8   $srcB, $zeros, $srcB
        SEL     $srcB, $ones, $zeros
    [ $first :LAND: $last  ; avoid touching wk4
        AND     $srcA, $srcA, $srcB
        ADD     $srcA, $srcA, $srcA, ROR #8
        UXTAB   map, map, $srcA
        UXTAB   map, map, $srcA, ROR #16
    |
      [ $first
        AND     $wk4, $srcA, $srcB
      |
        AND     $srcA, $srcA, $srcB
        ADD     $wk4, $wk4, $srcA
      ]
      [ $last
        ADD     $wk4, $wk4, $wk4, ROR #8
        UXTAB   map, map, $wk4
        UXTAB   map, map, $wk4, ROR #16
      ]
    ]
        MEND

        MACRO
        pixelMatchTally8_8_8pixels $first, $last, $srcA0, $srcA1, $srcB0, $srcB1, $zeros, $ones
        pixelMatchTally8_8_4pixels $first,  {FALSE}, $srcA0, $srcB0, $zeros, $ones
        pixelMatchTally8_8_4pixels {FALSE}, $last,   $srcA1, $srcB1, $zeros, $ones
        MEND

        MACRO
        pixelMatchTally8_8_8bits $src, $dst, $fixed_skew
        MOV     scratch, #0
        ASSERT  $src = $wk0
        ASSERT  $dst = $wk1
        pixelMatchTally8_8_1pixel $dst, $src, scratch, bitptrs, $wk2, $wk3
        MEND

        MACRO
        pixelMatchTally8_8_16bits $src, $dst, $fixed_skew
        MOV     scratch, #0
        ASSERT  $src = $wk0
        ASSERT  $dst = $wk1
        pixelMatchTally8_8_2pixels $dst, $src, scratch, bitptrs, $wk2, $wk3
        MEND

        MACRO
        pixelMatchTally8_8_32bits $src, $dst, $fixed_skew
        Read1Word dst, 0,, 0
        Read1Word src, 1, carry, $fixed_skew, skew, scratch
        MOV     scratch, #0
        pixelMatchTally8_8_4pixels {TRUE}, {TRUE}, $wk0, $wk1, scratch, bitptrs
        MEND

        MACRO
        pixelMatchTally8_8_64bits $src, $fixed_skew
        Read2Words dst, 0,, 0
        Read2Words src, 2, carry, $fixed_skew, skew, scratch
        MOV     scratch, #0
        pixelMatchTally8_8_4pixels {TRUE}, {TRUE}, $wk0, $wk2, scratch, bitptrs
        pixelMatchTally8_8_4pixels {TRUE}, {TRUE}, $wk1, $wk3, scratch, bitptrs
        MEND

        MACRO
        pixelMatchTally8_8_128bits_head $src, $fixed_skew, $intra_preloads


using System;
using System.Collections.Generic;
using System.Text;
using Core.Xml;
using KMLib.Abstract;
using System.Xml.Serialization;

namespace KMLib.Feature
{
    public class GroundOverlay : AOverlay
    {
        private double m_altitude = 0;
        public double altitude {
            get {
                return m_altitude;
            }
            set {
                m_altitude = value;
                altitudeSpecified = true;
            }
        }
        [XmlIgnore()]
        public bool altitudeSpecified = false;

        private AltitudeMode m_altitudeMode = AltitudeMode.clampedToGround;
        public AltitudeMode altitudeMode {
            get {
                return m_altitudeMode;
            }
            set {
                m_altitudeMode = value;
                altitudeModeSpecified = true;
            }
        }
        [XmlIgnore()]
        public bool altitudeModeSpecified = false;


OMMON_SOCK_PERMS, NULL } },
	{ "netlink_netfilter_socket",
	  { COMMON_SOCK_PERMS, NULL } },
	{ "netlink_dnrt_socket",
	  { COMMON_SOCK_PERMS, NULL } },
	{ "association",
	  { "sendto", "recvfrom", "setcontext", "polmatch", NULL } },
	{ "netlink_kobject_uevent_socket",
	  { COMMON_SOCK_PERMS, NULL } },
	{ "netlink_generic_socket",
	  { COMMON_SOCK_PERMS, NULL } },
	{ "netlink_scsitransport_socket",
	  { COMMON_SOCK_PERMS, NULL } },
	{ "netlink_rdma_socket",
	  { COMMON_SOCK_PERMS, NULL } },
	{ "netlink_crypto_socket",
	  { COMMON_SOCK_PERMS, NULL } },
	{ "appletalk_socket",
	  { COMMON_SOCK_PERMS, NULL } },
	{ "packet",
	  { "send", "recv", "relabelto", "forward_in", "forward_out", NULL } },
	{ "key",
	  { "view", "read", "write", "search", "link", "setattr", "create",
	    NULL } },
	{ "dccp_socket",
	  { COMMON_SOCK_PERMS,
	    "node_bind", "name_connect", NULL } },
	{ "memprotect", { "mmap_zero", NULL } },
	{ "peer", { "recv", NULL } },
	{ "capability2",
	  { COMMON_CAP2_PERMS, NULL } },
	{ "kernel_service", { "use_as_override", "create_files_as", NULL } },
	{ "tun_socket",
	  { COMMON_SOCK_PERMS, "attach_queue", NULL } },
	{ "binder", { "impersonate", "call", "set_context_mgr", "transfer",
		      NULL } },
	{ "cap_userns",
	  { COMMON_CAP_PERMS, NULL } },
	{ "cap2_userns",
	  { COMMON_CAP2_PERMS, NULL } },
	{ "bpf",
	  {"map_create", "map_read", "map_write", "prog_load", "prog_run"} },
	{ "perf_event",
	  {"open", "cpu", "kernel", "tracepoint", "read", "write"} },
	{ NULL }
  };


er::UnmapBuffer() const {
    assert(buffer != 0);

    glBindBuffer(target, buffer);
    if (!glUnmapBuffer(target)) {
        ALOGW("GlBuffer::UnmapBuffer: Failed to unmap buffer.");
    }
    glBindBuffer(target, 0);
}

} // namespace OVRFW
/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (https://www.swig.org).
 * Version 4.2.1
 *
 * Do not make changes to this file unless you know what you are doing - modify
 * the SWIG interface file instead.
 * ----------------------------------------------------------------------------- */

#define SWIG_VERSION 0x040201
#define SWIGJAVA

/* -----------------------------------------------------------------------------
 *  This section contains generic SWIG labels for method/variable
 *  declarations/attributes, and other compiler dependent labels.
 * ----------------------------------------------------------------------------- */

/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
#  define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
#  define SWIGTEMPLATEDISAMBIGUATOR template
# else
#  define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif

/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#   define SWIGINLINE inline
# else
#   define SWIGINLINE
# endif
#endif

/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define SWIGUNUSED __attribute__ ((__unused__))
#   else
#     define SWIGUNUSED
#   endif
# elif defined(__ICC)
#   define SWIGUNUSED __attribute__ ((__unused__))
# else
#   define SWIGUNUSED
# endif
#endif

#ifndef SWIG_MSC_UNSUPPRESS_4505
# if defined(_MSC_VER)
#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
# endif
#endif

#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
#   define SWIGUNUSEDPARM(p)
# else
#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif

/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif

/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif

/* exporting methods */
#if defined(__GNUC__)
#  if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
#    ifndef GCC_HASCLASSVISIBILITY
#      define GCC_HASCLASSVISIBILITY
#    endif
#  endif
#endif

#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   if defined(STATIC_LINKED)
#     define SWIGEXPORT
#   else
#     define SWIGEXPORT __declspec(dllexport)
#   endif
# else
#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
#     define SWIGEXPORT __attribute__ ((visibility("default")))
#   else
#     define SWIGEXPORT
#   endif
# endif
#endif

/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   define SWIGSTDCALL __stdcall
# else
#


w         $v1, 0x0($s7)
/* BE26C 80127F1C AC480078 */  sw         $t0, 0x78($v0)
/* BE270 80127F20 AC50007C */  sw         $s0, 0x7C($v0)
/* BE274 80127F24 97C40516 */  lhu        $a0, 0x516($fp)
/* BE278 80127F28 24430088 */  addiu      $v1, $v0, 0x88
/* BE27C 80127F2C AEE30000 */  sw         $v1, 0x0($s7)
/* BE280 80127F30 24430090 */  addiu      $v1, $v0, 0x90
/* BE284 80127F34 AC510084 */  sw         $s1, 0x84($v0)
/* BE288 80127F38 AEE30000 */  sw         $v1, 0x0($s7)
/* BE28C 80127F3C 24430098 */  addiu      $v1, $v0, 0x98
/* BE290 80127F40 AC470088 */  sw         $a3, 0x88($v0)
/* BE294 80127F44 AC40008C */  sw         $zero, 0x8C($v0)
/* BE298 80127F48 AEE30000 */  sw         $v1, 0x0($s7)
/* BE29C 80127F4C 244300A0 */  addiu      $v1, $v0, 0xA0
/* BE2A0 80127F50 AC460090 */  sw         $a2, 0x90($v0)
/* BE2A4 80127F54 AC490094 */  sw         $t1, 0x94($v0)
/* BE2A8 80127F58 AEE30000 */  sw         $v1, 0x0($s7)
/* BE2AC 80127F5C 3C03802F */  lui        $v1, %hi(ui_msg_sign_side_right_png)
/* BE2B0 80127F60 24632DB0 */  addiu      $v1, $v1, %lo(ui_msg_sign_side_right_png)
/* BE2B4 80127F64 AC43009C */  sw         $v1, 0x9C($v0)
/* BE2B8 80127F68 244300A8 */  addiu      $v1, $v0, 0xA8
/* BE2BC 80127F6C AC4B0098 */  sw         $t3, 0x98($v0)
/* BE2C0 80127F70 AEE30000 */  sw         $v1, 0x0($s7)
/* BE2C4 80127F74 3C03E409 */  lui        $v1, (0xE4090000 >> 16)
/* BE2C8 80127F78 3C05E447 */  lui        $a1, (0xE4470000 >> 16)
/* BE2CC 80127F7C AC4A00A0 */  sw         $t2, 0xA0($v0)
/* BE2D0 80127F80 2484000C */  addiu      $a0, $a0, 0xC
/* BE2D4 80127F84 00042080 */  sll        $a0, $a0, 2
/* BE2D8 80127F88 30840FFF */  andi       $a0, $a0, 0xFFF
/* BE2DC 80127F8C 00832025 */  or         $a0, $a0, $v1
/* BE2E0 80127F90 244300B0 */  addiu      $v1, $v0, 0xB0
/* BE2E4 80127F94 AC440080 */  sw         $a0, 0x80($v0)
/* BE2E8 80127F98 AC4D00A4 */  sw         $t5, 0xA4($v0)
/* BE2EC 80127F9C 3C19E600 */  lui        $t9, (0xE6000000 >> 16)
/* BE2F0 80127FA0 AEE30000 */  sw         $v1, 0x0($s7)


() {
            boolean_expr = BooleanExpression::LogicalFunctionVariant(LogicalFunction::AndVariant {
                left: Box::new(boolean_expr),
                right: Box::new(BooleanExpression::ComparisonFunctionVariant(comparison)),
            });
        }

        Ok(boolean_expr)
    }
}
use super::data::{DeathsResponse, RegionsResponse, TrustsResponse};
use crate::utils::fetch;
use anyhow::Result;
use chrono::NaiveDate;
use serde::de::DeserializeOwned;

fn url_for(
    base_url: &str,
    endpoint: &str,
    use_ground_truth: Option<bool>,
    from_date: NaiveDate,
    to_date: NaiveDate,
) -> String {
    let (from_param, to_param) = if use_ground_truth.unwrap_or(true) {
        ("from", "to")
    } else {
        ("recordedOnFrom", "recordedOnTo")
    };
    format!(
        "{}{}?{}={}&{}={}",
        base_url, endpoint, from_param, from_date, to_param, to_date
    )
}

const BASE_URL: &str = "https://api.cv19api.com/api/v1/";
const DEATHS_ENDPOINT: &str = "deaths";
const REGIONS_ENDPOINT: &str = "deaths/regions";
const TRUSTS_ENDPOINT: &str = "deaths/trusts";

pub fn deaths() -> Result<DeathsResponse> {
    get_data(DEATHS_ENDPOINT, None, None, None)
}

pub fn parameterised_deaths(
    from: NaiveDate,
    to: NaiveDate,
    use_ground_truth: bool,
) -> Result<DeathsResponse> {
    get_data(
        DEATHS_ENDPOINT,
        Some(from),
        Some(to),
        Some(use_ground_truth),
    )
}

pub fn deaths_by_region() -> Result<RegionsResponse> {
    get_data(REGIONS_ENDPOINT, None, None, None)
}

pub fn parameterised_deaths_by_region(
    from: NaiveDate,
    to: NaiveDate,
    use_ground_truth: bool,
) -> Result<RegionsResponse> {
    get_data(
        REGIONS_ENDPOINT,
        Some(from),
        Some(to),
        Some(use_ground_truth),
    )
}

pub fn deaths_by_trust() -> Result<TrustsResponse> {
    get_data(TRUSTS_ENDPOINT, None, None, None)
}

pub fn parameterised_deaths_by_trust(
    from: NaiveDate,
    to: NaiveDate,
    use_ground_truth: bool,
) -> Result<TrustsResponse> {
    get_data(
        TRUSTS_ENDPOINT,
        Some(from),
        Some(to),
        Some(use_ground_truth),
    )
}

fn get_data<T>(
    endpoint: &str,
    from: Option<NaiveDate>,
    to: Option<NaiveDate>,
    use_ground_truth: Option<bool>,
) -> Result<T>
where
    T: DeserializeOwned,
{
    let url = match (from, to) {
        (Some(from_date), Some(to_date)) => {
            url_for(BASE_URL, endpoint, use_ground_truth, from_date, to_date)
        }
        _ => format!("{}{}", BASE_URL, endpoint),
    };
    fetch(&url)
}

#[cfg(test)]
mod tests {
    use super::*;
    use chrono::NaiveDate;

    #[test]
    fn having_none_or_true_for_ground_truth_sets_from_to_param_string() {
        let use_ground_truth_none: Option<bool> = None;
        let use_ground_truth_true = Some(true);
        let base_url = "";
        let endpoint = "";
        let from_date = NaiveDate::from_ymd(


Name(Color.VALUE_WHITE, TextureType.HIGH_CONTRAST)
                //main
                .mainStatsCommon(250, 15, 14, 20, 0.7f)
                .mainStatsHarvest(6)
                .mainStatsMelee(2, 1, 0.0f)
                .stat(PartGearKey.ofMain(GearTypes.AXE), GearProperties.ATTACK_SPEED, -0.1f)
                .stat(PartGearKey.ofMain(GearTypes.HOE), GearProperties.ATTACK_SPEED, 0f)
                .mainStatsRanged(1, 0.1f)
                .mainStatsProjectile(1.0f, 1.1f)
                .mainStatsArmor(2, 6, 5, 2, 0, 6) //15
                .trait(PartTypes.MAIN, Const.Traits.MALLEABLE, 3)
                //rod
                .trait(PartTypes.ROD, Const.Traits.FLEXIBLE, 2)
                //tip
                .stat(PartTypes.TIP, GearProperties.DURABILITY, 128, NumberProperty.Operation.ADD)
                .stat(PartTypes.TIP, GearProperties.ARMOR_DURABILITY, 4, NumberProperty.Operation.ADD)
                .harvestTierBuiltin(PartTypes.TIP)
                .stat(PartTypes.TIP, GearProperties.HARVEST_SPEED, 1, NumberProperty.Operation.ADD)
                .stat(PartTypes.TIP, GearProperties.ATTACK_DAMAGE, 1, NumberProperty.Operation.ADD)
                .stat(PartTypes.TIP, GearProperties.DRAW_SPEED, 0.2f, NumberProperty.Operation.ADD)
                .stat(PartTypes.TIP, GearProperties.RARITY, 8, NumberProperty.Operation.ADD)
                .trait(PartTypes.TIP, Const.Traits.MALLEABLE, 2)
        );
        // Netherite
        ret.add(MaterialBuilder.simple(modId("netherite"))
                .crafting(Tags.Items.INGOTS_NETHERITE, MaterialCategories.METAL, MaterialCategories.ENDGAME)
                .display(
                        TextUtil.translate("material", "netherite"),
                        TextUtil.translate("material", "netherite"),
                        0x867B86
                )
                //coating
                .stat(PartTypes.COATING, GearProperties.DURABILITY, 0.3f, NumberProperty.Operation.MULTIPLY_TOTAL)
                .stat(PartTypes.COATING, GearProperties.DURABILITY, 2, NumberProperty.Operation.ADD)
                .stat(PartTypes.COATING, GearProperties.ARMOR_DURABILITY, 37f / 33f - 1f, NumberProperty.Operation.MULTIPLY_TOTAL)
                .stat(PartTypes.COATING, GearProperties.HARVEST_TIER, new HarvestTierPropertyValue(
                        HarvestTier.create(
                                "netherite",
                                "4",
                                BlockTags.INCORRECT_FOR_NETHERITE_TOOL
                        )
                ))
                .stat(PartTypes.COATING, GearProperties.HARVEST_SPEED, 0.125f, NumberProperty.Operation.MULTIPLY_TOTAL)
                .stat(PartTypes.COATING, GearProperties.ATTACK_DAMAGE, 1f / 3f, NumberProperty.Operation.MULTIPLY_TOTAL)
                .stat(PartTypes.COATING, GearProperties.MAGIC_DAMAGE, 1f / 3f, NumberProperty.Operation.MULTIPLY_TOTAL)
                .stat(PartTypes.COATING, GearProperties.RANGED_DAMAGE, 1f / 3f, NumberProperty.Operation.MULTIPLY_TOTAL)
                .stat(PartTypes.COATING, GearProperties.ARMOR_TOUGHNESS, 4, NumberProperty.Operation.ADD)
                .stat(PartTypes.COATING, GearProperties.KNOCKBACK_RESISTANCE, 1f, NumberProperty.Operation.ADD)
                .stat


	call	write_colon

	movw	$entry_point, %ax
	call	write_word
	call	write_newline

# write next in chain
	movw	$text_next, %ax
	call	write_string

	movw	%cs:(next_rsx + 2), %ax
	call	write_word
	call	write_colon

	movw	%cs:(next_rsx), %ax
	call	write_word
	call	write_newline

# restore registers
	popw	%ax
	popw	%cx
	popw	%dx
	popw	%bx
	popw	%bp
	popw	%si
	popw	%di
	popw	%es

# restore stack and data segment
	cli
	movw	(old_sp), %sp
	movw	(old_ss), %ss
	movw	(old_ds), %ds

# chain onto next call
	ljmp	*%cs:next_rsx

# set return value and return
#	xorw	%ax, %ax
#	lret

.include "common.h"

	.section	.data

text_greetings:
	.ascii	"Greetings from RSX 1!"
	.byte	0

text_entry:
	.ascii	"Entry: "
	.byte	0

text_next:
	.ascii	"Next in chain: "
	.byte	0

	.section	.bss

old_sp:
	.word	0
old_ss:
	.word	0
old_ds:
	.word	0

	.skip	512
stack_top:


Message(userPrompt);

        /* TODO:
         * Get the ChatCompletionService
         * Invoke the GetChatCompletions method asynchronously
         */

        //var chat = _semanticKernel.GetService<IChatCompletion>();
        //var completionResults = await chat.GetChatCompletionsAsync(chatHistory);

        // TODO: Get the first completionResults and retrieve the ChatMessage from that
        //var reply = await ______[0]._______();

        // TODO: Extract the OpenAIChatResult to get to the prompt and completion token counts
        //var rawResult = (completionResults[0] as ITextResult).ModelResult.GetOpenAIChatResult();

        //TODO: Replace the following return value with the correct values according to function signature
        // (all default values below should be replaced).
        return new("", "", 0, 0, null);
    }


_maintenance, 0x1600, 0x100)
EXC_VIRT_NONE(0x5600, 0x100)
TRAMP_KVM_HV_SKIP(PACA_EXGEN, 0x1600)
EXC_COMMON(cbe_maintenance_common, 0x1600, cbe_maintenance_exception)
#else /* CONFIG_CBE_RAS */
EXC_REAL_NONE(0x1600, 0x100)
EXC_VIRT_NONE(0x5600, 0x100)
#endif

EXC_REAL(altivec_assist, 0x1700, 0x100)
EXC_VIRT(altivec_assist, 0x5700, 0x100, 0x1700)
TRAMP_KVM(PACA_EXGEN, 0x1700)
#ifdef CONFIG_ALTIVEC
EXC_COMMON(altivec_assist_common, 0x1700, altivec_assist_exception)
#else
EXC_COMMON(altivec_assist_common, 0x1700, unknown_exception)
#endif

#ifdef CONFIG_CBE_RAS
EXC_REAL_HV(cbe_thermal, 0x1800, 0x100)
EXC_VIRT_NONE(0x5800, 0x100)
TRAMP_KVM_HV_SKIP(PACA_EXGEN, 0x1800)
EXC_COMMON(cbe_thermal_common, 0x1800, cbe_thermal_exception)
#else /* CONFIG_CBE_RAS */
EXC_REAL_NONE(0x1800, 0x100)
EXC_VIRT_NONE(0x5800, 0x100)
#endif

#ifdef CONFIG_PPC_WATCHDOG

#define MASKED_DEC_HANDLER_LABEL 3f

#define MASKED_DEC_HANDLER(_H)				\
3: /* soft-nmi */					\
	std	r12,PACA_EXGEN+EX_R12(r13);		\
	GET_SCRATCH0(r10);				\
	std	r10,PACA_EXGEN+EX_R13(r13);		\
	EXCEPTION_PROLOG_2(soft_nmi_common, _H)

/*
 * Branch to soft_nmi_interrupt using the emergency stack. The emergency
 * stack is one that is usable by maskable interrupts so long as MSR_EE
 * remains off. It is used for recovery when something has corrupted the
 * normal kernel stack, for example. The "soft NMI" must not use the process
 * stack because we want irq disabled sections to avoid touching the stack
 * at all (other than PMU interrupts), so use the emergency stack for this,
 * and run it entirely with interrupts hard disabled.
 */
EXC_COMMON_BEGIN(soft_nmi_common)
	mr	r10,r1
	ld	r1,PACAEMERGSP(r13)
	subi	r1,r1,INT_FRAME_SIZE
	EXCEPTION_COMMON_NORET_STACK(PACA_EXGEN, 0x900,
			system_reset, soft_nmi_interrupt,
			ADD_NVGPRS;ADD_RECONCILE)
	b	ret_from_except

#else /* CONFIG_PPC_WATCHDOG */
#define MASKED_DEC_HANDLER_LABEL 2f /* normal return */
#define MASKED_DEC_HANDLER(_H)
#endif /* CONFIG_PPC_WATCHDOG */

/*
 * An interrupt came in while soft-disabled. We set paca->irq_happened, then:
 * - If it was a decrementer i


aILAddressMap[]? maps)
    {
        int hr = HResults.S_OK;

        try
        {
            TargetCodePointer pCode = _target.Contracts.RuntimeTypeSystem.GetNativeCode(_methodDesc);
            TargetPointer codeStart = pCode.ToAddress(_target);
            List<OffsetMapping> map = _target.Contracts.DebugInfo.GetMethodNativeMap(
                pCode,
                preferUninstrumented: false,
                out uint _).ToList();

            if (maps is not null)
            {
                int outputMapIndex = 0;
                for (int i = 0; i < map.Count; i++)
                {
                    OffsetMapping entry = map[i];

                    bool lastValue = i == map.Count - 1;
                    uint nativeEndOffset = lastValue ? 0 : map[i + 1].NativeOffset;

                    if (outputMapIndex < maps.Length)
                    {
                        maps[outputMapIndex].ilOffset = entry.ILOffset;
                        maps[outputMapIndex].startAddress = new TargetPointer(codeStart + entry.NativeOffset).ToClrDataAddress(_target);
                        maps[outputMapIndex].endAddress = new TargetPointer(codeStart + nativeEndOffset).ToClrDataAddress(_target);
                        maps[outputMapIndex].type = ClrDataSourceType.CLRDATA_SOURCE_TYPE_INVALID;

                        outputMapIndex++;
                    }
                    else
                    {
                        break;
                    }
                }
            }

            if (mapNeeded is not null)
            {
                *mapNeeded = (uint)map.Count;
            }

            hr = map.Count > 0 ? HResults.S_OK : HResults.COR_E_INVALIDCAST /*E_NOINTERFACE*/;
        }
        catch (System.Exception ex)
        {
            hr = ex.HResult;
        }

#if DEBUG
        if (_legacyImpl is not null)
        {
            uint mapNeededLocal;
            ClrDataILAddressMap[]? mapsLocal = mapLen > 0 ? new ClrDataILAddressMap[mapLen] : null;
            int hrLocal = _legacyImpl.GetILAddressMap(mapLen, &mapNeededLocal, mapsLocal);
            Debug.Assert(hrLocal == hr, $"HResult - cDAC: {hr:x}, DAC: {hrLocal:x}");

            if (hr == HResults.S_OK)
            {
                Debug.Assert(mapNeeded == null || *mapNeeded == mapNeededLocal);
                if (mapsLocal is not null)
                {
                    int countToCheck = Math.Min(mapsLocal.Length, (int)mapNeededLocal);
                    for (int i = 0; i < countToCheck; i++)
                    {
                        Debug.Assert(mapsLocal[i].ilOffset == maps![i].ilOffset, $"ILOffset - cDAC: {maps[i].ilOffset:x}, DAC: {mapsLocal[i].ilOffset:x}");
                        Debug.Assert(mapsLocal[i].startAddress == maps[i].startAddress, $"StartAddress - cDAC: {maps[i].startAddress:x}, DAC: {mapsLocal[i].startAddress:x}");
                        Debug.Assert(mapsLocal[i].endAddress == maps[i].endAddress, $"EndAddress - cDAC: {maps[i].endAddress:x}, DAC: {mapsLocal[i].endAddress:x}");
                        Debug.Assert(mapsLocal[i].type == maps[i].type, $"Type - cDAC: {maps[i].type:x}, DAC: {mapsLocal[i].type:x}");
                    }
                }
            }
        }

#endif

        return hr;
    }

    int IXCLRDataMethodInstance.StartEnumExtents(ulong* handle)
        => _legacyImpl is not null ? _legacyImpl.StartEnumExtents(handle) : HResults.E_NOTIMPL;

    int IXCLRDataMethodInstance.EnumExtent(ulong* handle, void* extent)
        => _legacyImpl is not null ? _legacyImpl.EnumExtent(handle, extent) : HResults.E_NOTIMPL;

    int IXCLR


which the caller should do immediately.  We could call teCancel here but teCancel is tricky
				// and I would like to reduce the number of calls to it.  This probably doesnt happen anyway.
				// If this does happen, we could be more clever, like a voice transaction could move to the secondary slot, etc.
			}
		}
	}
}

// This is called whenever we have positively identified an MS so we can connect the MMU to the MMC.
// That includes:
// 1. when we receive a PagingResponse message (which includes an IMSI or TMSI; note that PagingResponse
// is an L3 message which means the MS has already negotiated L2 LAPDm connection to send it.)
// 2. MOC call control when we identify the MS
// 3. Mobility Management after authorization.
// 4. From SMS somewhere too.
void MMContext::mmcLink(MMUser *mmu)
{
	devassert(gMMLock.lockcnt());		// Caller locked it.
	//RefCntPointer<MMUser> saveme(mmu);	// Dont delete mmu during this procedure.
	MMContext *mmc = this;
	if (mmc->mmcMMU == mmu) {
		// Already connected.
		devassert(mmu->mmuContext == mmc);	// We always maintain pointers both ways.
		return;
	}
	// Detach the mmu from its existing channel, if any.  That happens when the MS disappeared temporarily
	// and then came back on another channel, for example, handover to another BTS and back.
	// (pat 4-2014) It also happens for paging response: Sometimes the MS sends two RACHes in a row,
	// which allocates two channels (say A and B.)
	// We send two immediate assignments, and the MS may respond to both!  First it does an L1 LAPDm negotiation on A
	// and sends a Paging Response there, which connects its MMU to the MMContext for A, then it
	// does an L2 LAPDm negotiation on B and sends a second Paging Response there, so we get here with this == channel B
	// but with the MMU attached to channel A.  So we must disconnect the existing channel and move the MMU to the new channel.
	// We have to move the transactions from the old MMContext to the new; for example if there was only one MTC transaction and
	// it has already been moved from the MMU to the MMC, then the MMU is empty of transactions which will release channel B
	// immmediately in mmCheckNewActivity.
	if (MMContext *oldmmc = mmu->mmuContext) {
		if (oldmmc != mmc) {
			LOG(DEBUG) <<"reconnecting mmu"<<LOGVAR(mmu)<<LOGVAR(oldmmc)<<LOGVAR(mmc);
			// pat 4-2014: Move the transactions from the old to the new mmc.
			mmcMoveTransactions(oldmmc);
		}
		oldmmc->mmcUnlink();
	}
	mmc->mmcUnlink();
	mmc->mmcMMU = mmu;
	mmu->mmuContext = mmc;
}

void MMContext::mmcFree(TermCause cause)
{
	assert(this->mmcMMU == NULL);
	devassert(gMMLock.lockcnt());		// Caller locked it.

	// Cancel all the enclosed transactions and their dialogs.
	for (unsigned i = 0; i < TE_num; i++) {
		// When a primary transaction is deleted we may promote the secondary transaction, so delete them all:
		for (unsigned tries = 0; tries < 3; tries++) {
			if (mmcTE[i] != NULL) { mmcTE[i]->teCancel(cause); }	// Removes the transaction from mmcTE via mmDisconnectTran
		}
		assert(mmcTE[i].self() == NULL);	// teCancel removed it.
	}
	LOG(DEBUG)<<"MMContext DELETE "<<(void*)this;
	delete this;
}

// The logical channel no longer points to this Context, so release


:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7z"/></svg>')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref


@param ctx  Context
     * @param AD_Private_Access_UU  UUID key
     * @param trxName Transaction
     */
    public MPrivateAccess(Properties ctx, String AD_Private_Access_UU, String trxName) {
        super(ctx, AD_Private_Access_UU, trxName);
    }

	/**
	 *	@param ctx context
	 *	@param ignored ignored
	 *	@param trxName transaction
	 */
	public MPrivateAccess (Properties ctx, int ignored, String trxName)
	{
		super(ctx, 0, trxName);
		if (ignored != 0)
			throw new IllegalArgumentException("Multi-Key");
	}	//	MPrivateAccess

	/**
	 * 	Load Constructor
	 *	@param ctx context
	 *	@param rs result set
	 *	@param trxName transaction
	 */
	public MPrivateAccess(Properties ctx, ResultSet rs, String trxName)
	{
		super(ctx, rs, trxName);
	}	//	MPrivateAccess

	/**
	 * 	New Constructor
	 *	@param ctx context
	 *	@param AD_User_ID user
	 *	@param AD_Table_ID table
	 *	@param Record_ID record
	 */
	public MPrivateAccess (Properties ctx, int AD_User_ID, int AD_Table_ID, int Record_ID)
	{
		super(ctx, 0, null);
		setAD_User_ID (AD_User_ID);
		setAD_Table_ID (AD_Table_ID);
		setRecord_ID (Record_ID);
	}	//	MPrivateAccess

	/**
	 * String representation of this object, used in Recent Items
	 */
	@Override
	public String toString() {
		MUser user = MUser.get(getAD_User_ID());
		MTable table = MTable.get(getAD_Table_ID());
		StringBuilder sb = new StringBuilder ("Private Access[")
				.append(user.getName())
				.append(",")
				.append(table.getName())
				.append(",")
				.append(getRecord_ID())
				.append("]");
		return sb.toString();
	}

	@Override
	protected boolean beforeSave(boolean newRecord) {
		if (!canUpdate()) {
			s_log.warning("Denied permission to update AD_Private_Access[" + getAD_Private_Access_UU() + "] on session " + Env.getContext(p_ctx, Env.AD_SESSION_ID));
			return false;
		}
		return true;
	}

	@Override
	protected boolean beforeDelete() {
		if (!canUpdate()) {
			s_log.warning("Denied permission to delete AD_Private_Access[" + getAD_Private_Access_UU() + "] on session " + Env.getContext(p_ctx, Env.AD_SESSION_ID));
			return false;
		}
		return true;
	}

	/**
	 * Validate if the current user/role can update this private access record

	 * - the owner of the record can update it

	 * - the role with IsPersonalAccess permission can update it
	 * @return true if can update
	 */
	private boolean canUpdate() {
		if (Env.getAD_User_ID(getCtx()) == getAD_User_ID())
			return true;
		if (MRole.getDefault().isPersonalAccess())
			return true;
		return false;
	}

}	//	MPrivateAccess
/******************************************************************************
 * Product: Adempiere ERP & CRM Smart Business Solution                       *
 * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved.                *
 * This program is free software; you can redistribute it and/or modify it    *
 * under the terms version 2 of the GNU General Public License as published   *
 * by the Free Software Foundation. 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,


umn.Identifier == "Name") {
							var image = NSImage.ImageNamed ("certificate.png");
							browserCell.Image = image;
							browserCell.Image.Size = new CoreGraphics.CGSize{ Width = (float)16.0, Height = (float)16.0 };
						}
					}
				});
			}
		}
	}
}


setPadding(18, 10, 18, 10)
            }
            container.addView(textViewEp)
            binding.filmTitleTv.text = item.content.title
            binding.filmDescriptionTv.text = item.content.description

        }
    }

    class ItemPlayCastViewHolder(private val binding: ItemPlayCastBinding) :
        RecyclerView.ViewHolder(binding.root) {
        @SuppressLint("SetTextI18n")
        fun bind(castREsponse: List<Cast>, interfaceListener: DetailsInterface) {
            binding.root.visible()
            val castAdapter = CastAdapter()
            castAdapter.setOnItemClickListener {
                interfaceListener.onCastItemClicked(it)
            }
            if (castREsponse.isEmpty()) {
                binding.castRv.visibility = View.INVISIBLE
            } else {
                binding.castRv.visible()
                binding.castProgress.gone()
            }
            castAdapter.submitCast(castREsponse)
            binding.castRv.adapter = castAdapter
        }
    }

    fun submitList(list: List<HomeAdapter.HomeData>) {
        val result = DiffUtil.calculateDiff(object : DiffUtil.Callback() {

            override fun getOldListSize(): Int = itemList.size

            override fun getNewListSize(): Int = list.size

            /**
             * Ikkala ro‘yxatdagi bir xil elementlarni tekshiradi (masalan, ID orqali).
             */
            override fun areItemsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean {
                val oldItem = itemList[oldItemPosition]
                val newItem = list[newItemPosition]

                return when {
                    oldItem is CategoryDetails && newItem is CategoryDetails && oldItem.viewType == DETAILS_ITEM_HEADER && newItem.viewType == DETAILS_ITEM_HEADER -> {
                        oldItem.content.id == newItem.content.id
                    }

                    oldItem is CategoryDetails && newItem is CategoryDetails && oldItem.viewType == DETAILS_ITEM_SECTION && newItem.viewType == DETAILS_ITEM_SECTION -> {
                        oldItem.content.id == newItem.content.id
                    }

                    else -> false
                }
            }

            /**
             * Ikkala ro‘yxatdagi elementlar mazmunining bir xil ekanligini tekshiradi.
             */
            override fun areContentsTheSame(oldItemPosition: Int, newItemPosition: Int): Boolean {
                val oldItem = itemList[oldItemPosition]
                val newItem = list[newItemPosition]
                return oldItem == newItem
            }
        })

        itemList.clear()
        itemList.addAll(list)
        result.dispatchUpdatesTo(this)
    }

    //
    fun submitRecommendedMovies(movies: List<MainModel>) {
        recommendedMovies.clear()
        recommendedMovies.addAll(movies)
        notifyItemChanged(3)
    }

    fun submitCast(cast: List<Cast>) {
        castList.clear()
        castList.addAll(cast)
        notifyItemChanged(2)
    }

    fun updateTrailer(it: String) {
        trailer = it
        notifyItemChanged(0)
    }

    fun updateBookmark(it: Boolean?){
        bookmark = it?: false
        notifyItemChanged(0)
    }
//
//    fun submitCast(cast: CastResponse?) {
//        this.castResponse.clear()
//        this.castResponse.addAll(cast!!.cast!!)
//        notifyItemChanged(3)
//    }
}import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("com.android.library")
    kotlin("android")
    id("org.jetbrains.kotlinx.kover")
    alias(libs.plugins.maven.publish)
}

android {
    compileSdk = 34
    namespace = "dev.programadorthi.routing.android"

    defaultConfig {
        minSdk = 23


lookupswitch;" +
        "ac - ireturn;" +
        "ad - lreturn;" +
        "ae - freturn;" +
        "af - dreturn;" +
        "b0 - areturn;" +
        "b1 - return;" +
        "b2 p:f getstatic;" +
        "b3 p:f putstatic;" +
        "b4 p:f getfield;" +
        "b5 p:f putfield;" +
        "b6 p:m invokevirtual;" +
        "b7 p:m invokespecial;" +
        "b8 p:m invokestatic;" +
        "b9 I:i invokeinterface;" +
        "bb p:c new;" +
        "bc y newarray;" +
        "bd p:c anewarray;" +
        "be - arraylength;" +
        "bf - athrow;" +
        "c0 p:c checkcast;" +
        "c1 p:c instanceof;" +
        "c2 - monitorenter;" +
        "c3 - monitorexit;" +
        "c4 W wide;" +
        "c5 M:c multianewarray;" +
        "c6 b ifnull;" +
        "c7 b ifnonnull;" +
        "c8 c goto_w;" +
        "c9 c jsr_w;";

    static {
        // Set up OPCODE_INFO and OPCODE_NAMES.
        String s = OPCODE_DETAILS;
        int len = s.length();

        for (int i = 0; i < len; /*i*/) {
            int idx = (Character.digit(s.charAt(i), 16) << 4) |
                Character.digit(s.charAt(i + 1), 16);
            int info;
            switch (s.charAt(i + 3)) {
                case '-': info = FMT_NO_ARGS; break;
                case '0': info = FMT_NO_ARGS_LOCALS_1; break;
                case '1': info = FMT_NO_ARGS_LOCALS_2; break;
                case '2': info = FMT_NO_ARGS_LOCALS_3; break;
                case '3': info = FMT_NO_ARGS_LOCALS_4; break;
                case '4': info = FMT_NO_ARGS_LOCALS_5; break;
                case 'b': info = FMT_BRANCH; break;
                case 'c': info = FMT_WIDE_BRANCH; break;
                case 'p': info = FMT_CPI; break;
                case 'l': info = FMT_LOCAL_1; break;
                case 'm': info = FMT_LOCAL_2; break;
                case 'y': info = FMT_LITERAL_BYTE; break;
                case 'I': info = FMT_INVOKEINTERFACE; break;
                case 'L': info = FMT_LDC; break;
                case 'S': info = FMT_SIPUSH; break;
                case 'T': info = FMT_TABLESWITCH; break;
                case 'U': info = FMT_LOOKUPSWITCH; break;
                case 'M': info = FMT_MULTIANEWARRAY; break;
                case 'W': info = FMT_WIDE; break;
                default: info = FMT_INVALID; break;
            }

            i += 5;
            if (s.charAt(i - 1) == ':') {
                inner:
                for (;;) {
                    switch (s.charAt(i)) {
                        case 'I': info |= CPOK_Integer; break;
                        case 'F': info |= CPOK_Float; break


ert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import org.junit.Test;

/**
 * @author dblock[at]dblock[dot]org
 */
public class ITypeLibTest {
    static {
        ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
    }

    // Microsoft Shell Controls And Automation
    private static final String SHELL_CLSID = "{50A7E9B0-70EF-11D1-B75A-00A0C90564FE}";
    // Version 1.0
    private static final int SHELL_MAJOR = 1;
    private static final int SHELL_MINOR = 0;

    public ITypeLibTest() {
    }

    private ITypeLib loadShellTypeLib() {
        CLSID.ByReference clsid = new CLSID.ByReference();
        // get CLSID from string
        HRESULT hr = Ole32.INSTANCE.CLSIDFromString(SHELL_CLSID, clsid);
        assertTrue(COMUtils.SUCCEEDED(hr));

        // get user default lcid
        LCID lcid = Kernel32.INSTANCE.GetUserDefaultLCID();

        PointerByReference pShellTypeLib = new PointerByReference();
        // load typelib
        hr = OleAuto.INSTANCE.LoadRegTypeLib(clsid, SHELL_MAJOR, SHELL_MINOR, lcid, pShellTypeLib);

        assertTrue(COMUtils.SUCCEEDED(hr));

        return new TypeLib(pShellTypeLib.getValue());
    }

    @Test
    public void testGetTypeInfoCount() {
        ITypeLib shellTypeLib = loadShellTypeLib();
        UINT typeInfoCount = shellTypeLib.GetTypeInfoCount();
        // Validate correct method count range
        // Observed values in the wild were 37 (Windows 2012 Serve R2) + 38
        assertTrue(typeInfoCount.intValue() >= 30);
        assertTrue(typeInfoCount.intValue() <= 40);
    }

    @Test
    public void testGetTypeInfo() {
        ITypeLib shellTypeLib = loadShellTypeLib();

        PointerByReference ppTInfo = new PointerByReference();
        HRESULT hr = shellTypeLib.GetTypeInfo(new UINT(0), ppTInfo);

        assertTrue(COMUtils.SUCCEEDED(hr));

        //System.out.println("ITypeInfo: " + ppTInfo.toString());
    }

    @Test
    public void testGetTypeInfoType() {
        ITypeLib shellTypeLib = loadShellTypeLib();

        TYPEKIND.ByReference pTKind = new TYPEKIND.ByReference();
        HRESULT hr = shellTypeLib.GetTypeInfoType(new UINT(0), pTKind);

        assertTrue(COMUtils.SUCCEEDED(hr));

        //System.out.println("TYPEKIND: " + pTKind);
    }

    @Test
    public void testGetTypeInfoOfGuid() {
        ITypeLib shellTypeLib = loadShellTypeLib();

        // GUID for dispinterface IFolderViewOC
        GUID iFolderViewOC = new GUID("{9BA05970-F6A8-11CF-A442-00A0C90A8F39}");
        PointerByReference pbr = new PointerByReference();
        HRESULT hr = shellTypeLib.GetTypeInfoOfGuid(iFolderViewOC, pbr);

        assertTrue(COMUtils.SUCCEEDED(hr));
    }

    @Test
    public void testLibAttr() {
        ITypeLib shellTypeLib = loadShellTypeLib();

        PointerByReference pbr = new PointerByReference();
        HRESULT hr = shellTypeLib.GetLibAttr(pbr);

        assertTrue(COMUtils.SUCCEEDED(hr));

        OaIdl.TLIBATTR tlibAttr = new OaIdl.TLIBATTR(pbr.getValue());

        assertEquals(SHE


rneklenen pikseller üzerinde ortalanan `s` ölçek çapa kutuları (`s` listenin uzunluğunun 1 olduğu varsayılarak) ve farklı en-boy oranları (`ratios`) oluşturulur.

```{.python .input}
def display_anchors(fmap_w, fmap_h, s):
    d2l.set_figsize()
    # İlk iki boyuttaki değerler çıktıyı etkilemez
    fmap = np.zeros((1, 10, fmap_h, fmap_w))
    anchors = npx.multibox_prior(fmap, sizes=s, ratios=[1, 2, 0.5])
    bbox_scale = np.array((w, h, w, h))
    d2l.show_bboxes(d2l.plt.imshow(img.asnumpy()).axes,
                    anchors[0] * bbox_scale)
```

```{.python .input}
#@tab pytorch
def display_anchors(fmap_w, fmap_h, s):
    d2l.set_figsize()
    # İlk iki boyuttaki değerler çıktıyı etkilemez
    fmap = d2l.zeros((1, 10, fmap_h, fmap_w))
    anchors = d2l.multibox_prior(fmap, sizes=s, ratios=[1, 2, 0.5])
    bbox_scale = d2l.tensor((w, h, w, h))
    d2l.show_bboxes(d2l.plt.imshow(img).axes,
                    anchors[0] * bbox_scale)
```

İlk olarak, [**küçük nesnelerin algılanmasını düşünün**]. Görüntülendiğinde ayırt edilmeyi kolaylaştırmak için, buradaki farklı merkezlere sahip çapa kutuları çakışmaz: Çapa kutusu ölçeği 0.15 olarak ayarlanır ve öznitelik haritasının yüksekliği ve genişliği 4'e ayarlanır. Çapa kutularının merkezlerinin imge üzerindeki 4 satır ve  4 sütuna eşit olarak dağıtıldığını görebiliriz.

```{.python .input}
#@tab all
display_anchors(fmap_w=4, fmap_h=4, s=[0.15])
```

[**Öznitelik haritasının yüksekliğini ve genişliğini yarıya indirmeye ve daha büyük nesneleri algılamak için daha büyük çapa kutuları kullanmaya**] geçiyoruz. Ölçek 0.4 olarak ayarlandığında, bazı çapa kutuları birbirleriyle çakışır.

```{.python .input}
#@tab all
display_anchors(fmap_w=2, fmap_h=2, s=[0.4])
```

Son olarak, [**öznitelik haritasının yüksekliğini ve genişliğini yarıya indirir ve çapa kutusu ölçeğini 0.8 seviyesine çıkarırız**]. Şimdi çapa kutusunun merkezi imgenin merkezidir.

```{.python .input}
#@tab all
display_anchors(fmap_w=1, fmap_h=1, s=[0.8])
```

## Çoklu Ölçekli Algılama

Çoklu ölçekli çapa kutuları oluşturduğumuzdan, bunları farklı ölçeklerde çeşitli boyutlardaki nesneleri algılamak için kullanacağ


tical", { desc = "Vertical Terminal", silent = true } },
      { "h", cmd "ToggleTerm direction=horizontal", { desc = "Horizontal Terminal", silent = true } },

      { "q", nil, { desc = "quit", exit = true, nowait = true } },
      { "<Esc>", nil, { desc = "quit", exit = true, nowait = true } },
    },
  }
end

return {
  {
    "anuvyklack/hydra.nvim",
    event = { "BufReadPre" },
    opts = {
      specs = {
        gitsigns = gitsigns_menu,
        quick = quick_menu,
      },
    },
    config = function(_, opts)
      local hydra = require "hydra"
      for s, _ in pairs(opts.specs) do
        hydra(opts.specs[s]())
      end
    end,
  },
}


/cl/LEONumber //leo_ref/c/tdef/LEONumber" target="_top">LEONumber number;
    LEOUnit unit;
};

Fields

base

The instance variables inherited from the base class.

number

Where we store the actual number.

Discussion

A number, which may have a fractional part:

LEOValueObject

struct LEOValueObject {
    struct LEOValueBase


en signal.  Signals are also
inherited: an instance of a subclass can catch all of the signals its
parent class can catch, plus it can define new signals.

In our binding, we do our best to express GObject and subclasses to
GObject in the context of GOOPS classes, but, there is some mismatch.

Footnotes

(2)

GObject signals are not UNIX signals, like
SIGINT.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>GLib Logging (Guile-GI)</title>

<meta name="description" content="GLib Logging (Guile-GI)">
<meta name="keywords" content="GLib Logging (Guile-GI)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta name="viewport" content="width=device-width,initial-scale=1">

<link href="index.html" rel="start" title="Top">
<link href="The-Index.html" rel="index" title="The Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Debugging-and-Profiling.html" rel="up" title="Debugging and Profiling">
<link href="Debugging-Hooks.html" rel="prev" title="Debugging Hooks">

<link rel="stylesheet" type="text/css" href="document-1.0.1.css">

Previous: Debugging Hooks, Up: Debugging and Profiling   [Contents][Index]


//
// Copyright (c) 2022 ZettaScale Technology
//
// This program and the accompanying materials are made available under the
// terms of the Eclipse Public License 2.0 which is available at
// http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
// which is available at https://www.apache.org/licenses/LICENSE-2.0.
//
// SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
//
// Contributors:
//   ZettaScale Zenoh Team, <zenoh@zettascale.tech>
//

#ifndef ZENOH_PICO_COLLECTIONS_SLICE_H
#define ZENOH_PICO_COLLECTIONS_SLICE_H

#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

#include "zenoh-pico/utils/result.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
    void (*deleter)(void *data, void *context);
    void *context;
} _z_delete_context_t;

// Warning: None of the sub-types require a non-0 initialization. Add a init function if it changes.
static inline _z_delete_context_t _z_delete_context_null(void) { return (_z_delete_context_t){0}; }

static inline _z_delete_context_t _z_delete_context_create(void (*deleter)(void *context, void *data), void *context) {
    _z_delete_context_t ret;
    ret.deleter = deleter;
    ret.context = context;
    return ret;
}
static inline bool _z_delete_context_is_null(const _z_delete_context_t *c) { return c->deleter == NULL; }
_z_delete_context_t _z_delete_context_default(void);
_z_delete_context_t _z_delete_context_static(void);
void _z_delete_context_delete(_z_delete_context_t *c, void *data);

/*-------- Slice --------*/
/**
 * An array of bytes.
 *
 * Members:
 *   size_t len: The length of the bytes array.
 *   uint8_t *start: A pointer to the bytes array.
 *   _z_delete_context_t delete_context - context used to delete the data.
 */
typedef struct {
    size_t len;
    const uint8_t *start;
    _z_delete_context_t _delete_context;
} _z_slice_t;

static inline _z_slice_t _z_slice_null(void) { return (_z_slice_t){0}; }
static inline void _z_slice_reset(_z_slice_t *bs) { *bs = _z_slice_null(); }
static inline bool _z_slice_is_empty(const _z_slice_t *bs) { return bs->len == 0; }
static inline bool _z_slice_check(const _z_slice_t *slice) { return slice->start != NULL; }
static inline _z_slice_t _z_slice_alias(const _z_slice_t bs) {
    _z_slice_t ret;
    ret.len = bs.len;
    ret.start = bs.start;
    ret._delete_context = _z_delete_context_null();
    return ret;
}
z_result_t _z_slice_init(_z_slice_t *bs, size_t capacity);
_z_slice_t _z_slice_make(size_t capacity);
_z_slice_t _z_slice_alias_buf(const uint8_t *bs, size_t len);
_z_slice_t _z_slice_from_buf_custom_deleter(const uint8_t *p, size_t len, _z_delete_context_t dc);
_z_slice_t _z_slice_copy_from_buf(const uint8_t *bs, size_t len);
_z_slice_t _z_slice_steal(_z_slice_t *b);
z_result_t _z_slice_copy(_z_slice_t *dst, const _z_slice_t *src);
z_result_t _z_slice_n_copy(_z_slice_t *dst, const _z_slice_t *src, size_t offset, size_t len);
_z_slice_t _z_slice_duplicate(const _z_slice_t *src);
z_result_t _z_slice_move(_z_slice_t *dst, _z_slice_t *src);
bool _z_slice_eq(const _z_slice_t *left, const _z_slice_t *right);
void _z_slice_clear(_z_slice_t *bs);
void _z_slice_free(_z_slice_t **bs);
bool _z_slice_is_alloced(const _z_slice_t *s);

#ifdef __cplusplus
}
#endif

#endif /* ZENOH_PICO_COLLECTIONS_SLICE_H */


UnitsPrefs( Context ctx, TDPrefHelper hlp )
  {
    int cat = TDPrefCat.PREF_SHOT_UNITS;
    String[] key = TDPrefKey.UNITS;
    int[] tit = TDPrefKey.UNITStitle;
    int[] dsc = TDPrefKey.UNITSdesc;
    String[] def = TDPrefKey.UNITSdef;
    int[] arr = TDPrefKey.UNITSarr;
    int[] val = TDPrefKey.UNITSval;
    int[] lvl = TDPrefKey.UNITSlvl;
    return new TDPref[ ] {
      makeLst( cat, key[0], tit[0], dsc[0], lvl[0], def[0], arr[0], val[0], ctx, hlp ), // LENGTH
      makeLst( cat, key[1], tit[1], dsc[1], lvl[1], def[1], arr[1], val[1], ctx, hlp ), // ANGLE
      makeLst( cat, key[2], tit[2], dsc[2], lvl[2], def[2], arr[2], val[2], ctx, hlp ), // GRID
      makeLst( cat, key[3], tit[3], dsc[3], lvl[3], def[3], arr[3], val[3], ctx, hlp )  // MEASURE
    };
  }

  /** construct the "accuracy" preferences array
   * @param ctx   context
   * @param hlp   shared preferences helper
   * @return array of "accuracy" preferences
   */
  static TDPref[] makeAccuracyPrefs( Context ctx, TDPrefHelper hlp )
  {
    int cat = TDPrefCat.PREF_ACCURACY;
    String[] key = TDPrefKey.ACCURACY;
    int[] tit = TDPrefKey.ACCURACYtitle;
    int[] dsc = TDPrefKey.ACCURACYdesc;
    String[] def = TDPrefKey.ACCURACYdef;
    int[] lvl = TDPrefKey.ACCURACYlvl;
    return new TDPref[ ] {
      makeEdt( cat, key[0], tit[0], dsc[0], lvl[0], def[0], FLOAT, ctx, hlp ),
      makeEdt( cat, key[1], tit[1], dsc[1], lvl[1], def[1], FLOAT, ctx, hlp ),
      makeEdt( cat, key[2], tit[2], dsc[2], lvl[2], def[2], FLOAT, ctx, hlp ),
      makeEdt( cat, key[3], tit[3], dsc[3], lvl[3], def[3], FLOAT, ctx, hlp )
    };
  }

  /** construct the "location" preferences array
   * @param ctx   context
   * @param hlp   shared preferences helper
   * @return array of "location" preferences
   */
  static TDPref[] makeLocationPrefs( Context ctx, TDPrefHelper hlp )
  {
    int cat = TDPrefCat.PREF_LOCATION;
    String[] key = TDPrefKey.LOCATION;
    int[] tit = TDPrefKey.LOCATIONtitle;
    int[] dsc = TDPrefKey.LOCATIONdesc;
    String[] def = TDPrefKey.LOCATIONdef;
    int[] lvl = TDPrefKey.LOCATIONlvl;
    return new TDPref[ ] {
      makeLst( cat, key[0], tit[0], dsc[0], lvl[0], def[0], R.array.unitLocation, R.array.unitLocationValue, ctx, hlp ),
      makeEdt( cat, key[1], tit[1], dsc[1], lvl[1], def[1], STRING, ctx, hlp ),
      makeCbx( cat, key[2], tit[2], dsc[2], lvl[2], def[2],         ctx, hlp ),
      makeCbx( cat, key[3], tit[3], dsc[3], l


namespace AngleSharp
{
    using AngleSharp.Dom;
    using AngleSharp.Network;

    /// <summary>
    /// Represents the browsing context interface.
    /// </summary>
    public interface IBrowsingContext : IEventTarget
    {
        /// <summary>
        /// Gets the current window proxy.
        /// </summary>
        IWindow Current { get; }

        /// <summary>
        /// Gets or sets the currently active document.
        /// </summary>
        IDocument Active { get; set; }

        /// <summary>
        /// Gets the session history of the given browsing context.
        /// </summary>
        IHistory SessionHistory { get; }

        /// <summary>
        /// Gets the sandboxing flag of the context.
        /// </summary>
        Sandboxes Security { get; }

        /// <summary>
        /// Gets the configuration for the browsing context.
        /// </summary>
        IConfiguration Configuration { get; }

        /// <summary>
        /// Gets the assigned document loader, if any.
        /// </summary>
        IDocumentLoader Loader { get; }

        /// <summary>
        /// Gets the parent of t


 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55
        -- </tkt2927-4.1>
    })

test:do_test(
    "tkt2927-4.2",
    function()
        return test:execsql [[
            SELECT a+b, a-b, a, b FROM t1
            UNION ALL
            SELECT a+b, a-b, a, ABS(b) FROM t1
        ]]
    end, {
        -- <tkt2927-4.2>
        12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55, 12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55
        -- </tkt2927-4.2>
    })

test:do_test(
    "tkt2927-4.3",
    function()
        return test:execsql [[
            SELECT a+b, a-b, a, b FROM t1
            UNION ALL
            SELECT a+b, a-b, ABS(a), b FROM t1
        ]]
    end, {
        -- <tkt2927-4.3>
        12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55, 12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55
        -- </tkt2927-4.3>
    })

test:do_test(
    "tkt2927-4.4",
    function()
        return test:execsql [[
            SELECT a+b, a-b, a, b FROM t1
            UNION ALL
            SELECT a+b, a-b, ABS(a), ABS(b) FROM t1
        ]]
    end, {
        -- <tkt2927-4.4>
        12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55, 12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55
        -- </tkt2927-4.4>
    })

test:do_test(
    "tkt2927-4.5",
    function()
        return test:execsql [[
            SELECT a+b, a-b, a, ABS(b) FROM t1
            UNION ALL
            SELECT a+b, a-b, a, b FROM t1
        ]]
    end, {
        -- <tkt2927-4.5>
        12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55, 12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55
        -- </tkt2927-4.5>
    })

test:do_test(
    "tkt2927-4.6",
    function()
        return test:execsql [[
            SELECT a+b, a-b, a, ABS(b) FROM t1
            UNION ALL
            SELECT a+b, a-b, a, ABS(b) FROM t1
        ]]
    end, {
        -- <tkt2927-4.6>
        12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55, 12, -10, 1, 11, 24, -20, 2, 22, 36, -30, 3, 33, 48, -40, 4, 44, 60, -50, 5, 55
        -- </tkt2927-4.6>
    })

test:do_test(
    "tkt2927-4.7",
    function()